Noduino Airkiss
来自Jack's Lab
(版本间的差异)
(→代码示例) |
(→查看结果) |
||
| (未显示1个用户的3个中间版本) | |||
| 第79行: | 第79行: | ||
Terminal ready | Terminal ready | ||
| + | ...... | ||
| + | ...... | ||
| + | Noduino Airkiss Example! | ||
| + | SC version: V2.5.4 | ||
| + | scandone | ||
| + | scandone | ||
| + | SC_STATUS_FIND_CHANNEL | ||
...... | ...... | ||
...... | ...... | ||
| 第86行: | 第93行: | ||
Ctrl + a q 退出 picocom | 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> | <br><br> | ||
| 第151行: | 第225行: | ||
smartconfig_start(smartconfig_done); | smartconfig_start(smartconfig_done); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | |||
} | } | ||
</source> | </source> | ||
2016年9月5日 (一) 12:59的最后版本
目录 |
[编辑] 1 开发环境准备
根据您的系统,选择如下快速指南:
- Getting Started with Noduino SDK on Linux
- Getting Started with Noduino SDK on Mac OS X
- Getting Started with Noduino SDK on Windows
[编辑] 2 硬件准备
准备一块 Noduino Falcon 开发板
[编辑] 3 编译烧写
进入你的 i2c-scan 目录:
$ cd /PATH/TO/noduino-sdk/examples/noduino/airkiss
编译、上传一步完成:
$ make flash
不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,Linux 下 Falcon 开发板可能被识别为 /dev/ttyUSB1(dmesg 查看),则:
$ make flash ESPPORT=/dev/ttyUSB1
Windows 下 Falcon 开发板可能被识别为 COM6(控制面板 --> 设备管理器里查看),则:
$ make flash ESPPORT=COM6
[编辑] 4 查看结果
上传完之后,用串口工具,用 115200 的波特率打开串口,即可看到串口输出:
Windows 下可用串口调试助手这类插看
Linux 下推荐使用 picocom:
$ 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 ...... ......
Ctrl + a q 退出 picocom
打开微信,扫一扫如下二维码,关注公众号:
进入公众号后,点下方菜单: 添加设备 ---> 配置 WiFi:
点 ”开始配置“
- WiFi 配置的过程中,开发板的串口输出为:
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
[编辑] 5 微信 AirKiss
微信 AirKiss 的原理,参考此文档:http://iot.weixin.qq.com/airkiss_developer_manual.pdf
微信 AirKiss 目前支持的硬件:http://iot.weixin.qq.com/document-0_4.html#rd
[编辑] 6 代码示例
#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()
{
}
[编辑] 7 扩展阅读
- 更多问题参考:
