lwIP

node-gyp rebuild issue for lwip in azure web app: fatal error C1083: Cannot open include file: 'nan.h': No such file or directory

和自甴很熟 提交于 2020-01-15 09:52:10
问题 I have deployed a node application in azure. Environment detail in azure web app is as following- Python version : 2.7 Platform : 32 bit Dotnet framework : 4.6 Node version : 6.3.0 Npm version: 3.10.3 In my application I am using lwip, which need build using visual C++ build tools. When I do npm install its failing on node-gyp rebuild . I am getting many error message for the same message type "fatal error C1083: Cannot open include file: 'nan.h': No such file or directory" I have checked

stm32CubeMx lwip + freeRTOS

可紊 提交于 2020-01-08 06:43:21
MCU: STM32F429IGT6 工具:STM32CubeMx 版本号 5.0.0    Keil uVersion5 目的:使用LWIP 实现简单的网络连通 一 简介    LWIP(Light Weight Internet Protoco1)是瑞士计算机科学院(Swedish Institute of Computer Science)AdamDunkels等人开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LWIP的含义是Light Weight(轻型)IP协议。LWIP可以移植到操作系统上,也可以在无操作系统的情况下独立运行。LWIP TCP/IP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用。一般它只需要几十KB的RAM和40 KB左右的ROM就可以运行,这使LWIP协议栈适合在小型嵌入式系统中使用。 二 创建工程 本项目 使用 STM32F429IGT6 芯片, PHY 使用的LAN8720A 新建工程,选择芯片 因为项目中使用freeRTOS, timebase 重新选择一个定时器,不使用SysTick 配置RCC ,我的电路使用的是25MHz无源晶振,这里选择高速外部时钟 HSE 接下来配置时钟,由于我的电路中使用的是25MHz晶振,HCLK 配180MHz,按Enter键,软件自动配好倍频,分频系数 配置 ETH, 我的PHY 芯片

ESP32-S拥有业内极富竞争力的封装尺寸和超低功耗技术,尺寸仅为18.0*25.8*2.8mm 深度睡眠电流仅为6.5uA

断了今生、忘了曾经 提交于 2019-12-27 17:46:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ESP32-S拥有业内极富竞争力的封装尺寸和超低功耗技术,尺寸仅为18.0*25.8*2.8mm 深度睡眠电流仅为6.5uA. ESP32-S颗广泛用于各种物联网场合,适用于家庭自动化,工业无线控制,婴儿监控器,可穿戴电子产品,无线位置感知设备,无线定位系统信号及其它物联网应用,是物联网应用的理想解决方案; ESP32-S采用SMD封装,可通过标准SMT设备实现产品快速生产,为客户提供高客户可靠性的连接方式,特别适合自动化,大规模,低成本的现代化生产方式,方面应用于各种物联网硬件终端场合。 特性 --体积小的802.11b/g/n WI-FI+BT SoC模块; --采用低功耗双核32CPU,可做应用处理器; --主频高达340MHz,运算能力高达600DMIPS; --内置520KB SRAM; --支持UART/SPI/I2C/PWM/ADC/DAC等接口; --采用SMT-38封装,方便焊接与测试; --支持OpenOCD调试接口; --支持多种休眠模式,深度睡眠电流最小达到6uA; --内嵌Lwip和FreeRTOS; --支持STA/AP/STA+AP工作模式; --支持Smart Config/AirKiss 一键配网; --通用AT指令可快速上手; --支持串口本地升级和原厂固件升级(FOTA)

ESP32 - UDP broadcaster/ receiver with native LwIP library

大兔子大兔子 提交于 2019-12-23 18:00:33
问题 I'm building a distributed application with the ESP32 (a great platform btw) where all participants should communicate over UDP in it's simplest form: sending messages via broadcast and listening to all messages floating around . Each participant filters the relevant messages by itself. So far, I have the following initialization routine: int lavor_wifi_openUDPsocket(){ // Create a socket int sckt = socket(AF_INET, SOCK_DGRAM, 0); if ( sckt < 0 ){ printf("socket call failed"); exit(0); } //

【转】LWIP应用编程接口函数

被刻印的时光 ゝ 提交于 2019-12-22 03:31:08
1、使用raw/callback API编程,用户编程的方法是向内核注册各种自定义的回调函数,回调函数是与内核实现交换的唯一方式。 recv_udp, accept_function, sent_tcp, recv_tcp, do_connected, poll_tcp, err_tcp! 2、协议栈API(sequential API)是基于raw/callback API实现的,它与内核交换的方式也只能通过回调。 netconn_new, netconn_delete, netconn_getaddr, netconn_connect, netconn_disconnect, netconn_listen, netconn_accept, netconn_recv, netconn_send, netconn_write, netconn_close 注: netconn_send 是给UDP使用的。 netconn_write是给TCP使用的。但是tcp发送时,有三种选择: (1)NETCONN_COPY 标志告诉协议栈将待发送数据拷贝到内核进程所属的内存空间,在这种情况下,会消耗系统的部分时间和内存资源,但是用户进程 可以在向内核提交数据后立即重新使用这些数据区域,甚至删除这些区域,而不必等待内核是否完全正确发送。如果用户没有设置该位,则内核构造发送 数据包是

Invoking a node module from react component

人走茶凉 提交于 2019-12-21 16:19:12
问题 How do I use Node Modules for example 'lwip' in React component ? This is for an electron application. Updating the question with Code: This is the react component from which I am trying to invoke another .js file. button.js import React from 'react'; import ReactDOM from 'react-dom'; import resize from '../../node-code/process'; class Button extends React.Component{ mess(){ console.log('working'); resize(); } render(){ return <button id="imgButton" onClick={this.mess.bind(this)}>Upload Image

Zeroconf Name resolution

杀马特。学长 韩版系。学妹 提交于 2019-12-21 11:04:18
问题 I am developing a control device with an embedded webserver. The webserver provides a control interface to any web browser that requests it (from Windows browsers, Mac browsers, iPhone android etc). The problem I am having is with a general way of generically knowing how to access the device. i.e. what address to type in the web browser. Fixed IPs are too techie for my users and could go wrong as my device could be plugged into many different Local networks. Using uPnp service discovery

LWIP网络实验—RAW_UDP

杀马特。学长 韩版系。学妹 提交于 2019-12-18 20:58:07
编程接口   LWIP有3种编程接口,分别为:RAW、NETCONN和SOCKET   RAW:RAW编程接口不需要操作系统的支持,可以直接裸机使用LWIP,但是RAW编程接口比较复杂!RAW使用的是回调机制,需要大家了解回调函数。   NETCONN和SOCKET:这两种编程接口都需要有操作系统的支持,否则的话没法使用,但是这两种接口使用起来比较简单。   至于究竟使用哪一个就看自己的需求了,建议在实际项目中使用NETCONN或SOCKET编程接口,开发难度低。 UPD结构体 LWIP中使用UDP控制块来描述UDP,UDP控制块是UDP协议最核心的东西,UDP控制块是一个结构体,这个结构体在udp.h中定义。 struct udp_pcb { IP_PCB ; //宏IP_PCB中的各个字段 struct udp_pcb * next ; //指向udp_pcb,用于将控制块组织成链表 u8_t flags ; //控制块状态字段 u16_t local_port , remote_port ; //本地端口号和目的端口号 udp_recv_fn recv ; //处理数据的回调函数 void * recv_arg ; //传递给回调函数的参数 } ; 其中   IP_PCB ; //宏IP_PCB中的各个字段 # define IP_PCB struct ip_addr

LwIP应用开发笔记之一:LwIP无操作系统基本移植

浪子不回头ぞ 提交于 2019-12-17 14:21:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 现在,TCP/IP协议的应用无处不在。随着物联网的火爆,嵌入式领域使用TCP/IP协议进行通讯也越来越广泛。在我们的相关产品中,也都有应用,所以我们结合应用实际对相关应用作相应的总结。 1、技术准备 我们采用的开发平台是STM32F407和LwIP协议栈。在开始之前,我们需要做必要的准备工作。 首先要获得LwIP的源码,在网上有很多,不同版本及不同平台的都有,不过我们还是建议直接从官方网站获得。其官方网站如下: http://savannah.nongnu.org/projects/lwip/ 其次,需要硬件平台,我们采用了STM32F407ZG+DM9161的网络接口方式,这并不是必须的,其他硬件平台也是一样的。 最后,因为我们后面要在操作系统下移植,采用的操作系统是FreeRTOS,所以还需下载FreeRTOS的源码。同样简易从官网下载: https://www.freertos.org/index.html 2、LwIP简要说明 LwIP是一款免费的TCP/IP协议栈,但它的功能趋势十分完备。LwIP 具有三种应用编程接口 (API): Raw API:为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。 Netconn

implementing LWIP multicast on STM32F7 + FreeRTOS?

无人久伴 提交于 2019-12-12 17:15:17
问题 I have a client/server LWIP program that works correctly with unicast communication however I want to use multicast features so I used IGMP library did the following: 1- in lwipopts.h: #define LWIP_IGMP 1 //allowed IGMP 2- in ethernetif.c: netif->flags |= NETIF_FLAG_IGMP; //in low_level_init function 3-in my source file (for both client and server projects): implemented the following code: void recCallBack (void) { printf("connected"); //BREAK_POINT } static void UDP_Multicast_init(void *arg)