查看Noduino Airkiss的源代码
←
Noduino Airkiss
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 开发环境准备 == 根据您的系统,选择如下快速指南: * [[Getting Started with Noduino SDK on Linux]] * [[Getting Started with Noduino SDK on Mac OS X]] * [[Getting Started with Noduino SDK on Windows]] <br><br> == 硬件准备 == 准备一块 Noduino Falcon 开发板 <br><br> == 编译烧写 == 进入你的 i2c-scan 目录: <source lang=bash> $ cd /PATH/TO/noduino-sdk/examples/noduino/airkiss </source> 编译、上传一步完成: <source lang=bash> $ make flash </source> 不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,Linux 下 Falcon 开发板可能被识别为 /dev/ttyUSB1(dmesg 查看),则: <source lang=bash> $ make flash ESPPORT=/dev/ttyUSB1 </source> Windows 下 Falcon 开发板可能被识别为 COM6(控制面板 --> 设备管理器里查看),则: <source lang=bash> $ make flash ESPPORT=COM6 </source> <br><br> == 查看结果 == 上传完之后,用串口工具,用 115200 的波特率打开串口,即可看到串口输出: Windows 下可用串口调试助手这类插看 Linux 下推荐使用 picocom: <source lang=bash> $ sudo apt-get install picocom $ picocom -b 115200 /dev/ttyUSB1 picocom v1.7 port is : /dev/ttyUSB2 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 escape is : C-a local echo is : no noinit is : no noreset is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv imap is : omap is : emap is : crcrlf,delbs, Terminal ready ...... ...... Noduino Airkiss Example! SC version: V2.5.4 scandone scandone SC_STATUS_FIND_CHANNEL ...... ...... </source> Ctrl + a q 退出 picocom 打开微信,扫一扫如下二维码,关注公众号: [[文件:Wechat-qcode-maike.jpg]] 进入公众号后,点下方菜单: 添加设备 ---> 配置 WiFi: 点 ”开始配置“ ;;WiFi 配置的过程中,开发板的串口输出为: <source lang=bash> scandone f r0, scandone SC_STATUS_FIND_CHANNEL TYPE: AIRKISS T|sniffer on ch:8 T|PHONE MAC: 38 27 99 69 33 75 T|AP MAC : e0 46 39 8b 32 4e T|Head Len : 74 SC_STATUS_GETTING_SSID_PSWD SC_TYPE:SC_TYPE_AIRKISS T|sync:wait T|retain data: 2 T|all data: 22 T|sync:mgc end T|ssid len 11 T|SSID: Jackslab T|SCAN CRC SSID: 1 T|index:2, remain:3 T|password len: 10 T|sync:pfx end T|seq:0 T|seq:1 T|seq:2 T|pswd : 87987898 T|ssid : Jackslab SC_STATUS_LINK Store the ssid and password into flash f r0, scandone state: 0 -> 2 (b0) state: 2 -> 3 (0) state: 3 -> 5 (10) add 0 aid 9 connected with Jackslab, channel 8 dhcp client start... cnt ip:192.168.13.62,mask:255.255.255.0,gw:192.168.13.1 SC_STATUS_LINK_OVER free heap size:50496 pm open phy_2,type:2 0 0 </source> <br><br> == 微信 AirKiss == 微信 AirKiss 的原理,参考此文档:http://iot.weixin.qq.com/airkiss_developer_manual.pdf 微信 AirKiss 目前支持的硬件:http://iot.weixin.qq.com/document-0_4.html#rd <br><br> == 代码示例 == <source lang=cpp> #include "noduino.h" #include "smartconfig.h" void smartconfig_done(sc_status status, void *pdata) { switch (status) { case SC_STATUS_WAIT: os_printf("SC_STATUS_WAIT\n"); break; case SC_STATUS_FIND_CHANNEL: os_printf("SC_STATUS_FIND_CHANNEL\n"); break; case SC_STATUS_GETTING_SSID_PSWD: os_printf("SC_STATUS_GETTING_SSID_PSWD\n"); sc_type *type = pdata; if (*type == SC_TYPE_ESPTOUCH) { os_printf("SC_TYPE:SC_TYPE_ESPTOUCH\n"); } else { os_printf("SC_TYPE:SC_TYPE_AIRKISS\n"); } break; case SC_STATUS_LINK: os_printf("SC_STATUS_LINK\n"); struct station_config *sta_conf = pdata; os_printf("Store the ssid and password into flash\n"); wifi_station_set_config(sta_conf); wifi_station_disconnect(); wifi_station_connect(); break; case SC_STATUS_LINK_OVER: os_printf("SC_STATUS_LINK_OVER\n"); if (pdata != NULL) { uint8 phone_ip[4] = { 0 }; os_memcpy(phone_ip, (uint8 *) pdata, 4); os_printf("Phone ip: %d.%d.%d.%d\n", phone_ip[0], phone_ip[1], phone_ip[2], phone_ip[3]); } smartconfig_stop(); break; } } void setup() { //serial_begin(115200); uart_init(115200, 115200); os_printf("Noduino Airkiss Example!\r\n"); //SC_TYPE_ESPTOUCH,SC_TYPE_AIRKISS,SC_TYPE_ESPTOUCH_AIRKISS smartconfig_set_type(SC_TYPE_AIRKISS); wifi_set_opmode(STATION_MODE); smartconfig_start(smartconfig_done); } void loop() { } </source> <br><br> == 扩展阅读 == ;;更多问题参考: * [[Noduino]] <br><br> <br><br> <br><br>
返回到
Noduino Airkiss
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面