网络方面不是很懂,可能描述有一点不准确。
主要是通过ESP8266,在NONOS-SDK环境下,用URL地址,发出HTTP请求,接收并处理信息。
假设已经大致了解厂家提供的SDK,以及Eclipse开发环境如何使用,现在大致要做的是以下几步:
1、连上WiFi(连上网络)
2、与URL地址的服务器建立TCP连接
3、发出HTTP请求
4、接收并处理信息
现在就开始一步步地讲:
一、连上WiFi
连上WiFi这里我采用比较笨的方式,就是固定的WiFi和密码,直接连上就是了
需要用到几个函数:
bool wifi_set_opmode (uint8 opmode); //设置ESP8266模式,选择station模式 wifi_station_set_config(&stationConf); //设置连接WiFi的参数 //有结构体: struct station_config { uint8 ssid[32]; //ssid uint8 password[64]; //密码 uint8 bssid_set; uint8 bssid[6]; }; bool wifi_station_connect (void); //连接WiFi uint8 wifi_station_get_connect_status (void); //获取连接状态
1)设置ESP8266 的工作模式;
2)设置好WiFi的SSID和密码;
3)开始连接WiFi;
4)检查WiFi连接状态,若为5则连接成功。
void init_CollectWifi() { uint8 wifistatus; struct station_config stationConf; os_memcpy(&stationConf.ssid,WIFI_SSID,32); //输入路由器账号 os_memcpy(&stationConf.password,WIFI_PWD,64); //输入路由器密码 //stationConf.bssid_set = 0; wifi_station_set_config(&stationConf);//设置wifi_station的接口,并保存到flash。 #ifdef DEBUG os_printf("\r\n call connect_wifi\n"); os_printf("wifi name: %s\n",stationConf.ssid); os_printf("wifi pw:%s\n",stationConf.password); os_printf("wifi connecting..\n"); #endif if (wifi_station_connect()) { #ifdef DEBUG os_printf("wifi_station_connect = true\n"); #endif } else { #ifdef DEBUG os_printf("wifi_station_connect = flase\n"); #endif } //os_delay_us(2000000); wifistatus = wifi_station_get_connect_status(); #ifdef DEBUG os_printf("wifi connect status = %d\n&