你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[分享]WB-EIOT开发板 smartconfig

[复制链接]
wbeast 发布时间:2019-8-2 17:43
     Smartconfig 简称一键配网技术,运用该技术,可以将WIFI设备便捷快速的连接路由器。   Smartconfig原理:
1. 设备进入初始化状态,开始收听附近的 WiFi 数据包
2. 手机/平板设置 WiFi 名字和密码后,发送 UDP 广播包。
3. 设备通过 UDP 包(长度)获取配置信息,切换网络模式,连接上家里 WiFi,配置完成。
090504ysil1bx5n5050ixk.png


   前面讲到了移植rtthread AT组件和at device 软件包移植https://www.stmcu.org.cn/module/forum/thread-621343-1-1.html,下载我们来讲讲如何用AT 组件和AT device软件包。   AT组件是什么AT 组件是基于 RT-Thread 系统的 AT Server 和 AT Client 的实现,组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、URC 数据处理等整个 AT 命令数据交互流程。
  主要的AT组件函数:
//创建响应结构体
at_response_t at_create_resp(rt_size_t buf_size, rt_size_t line_num, rt_int32_t timeout);
//删除响应结构体
void at_delete_resp(at_response_t resp);
//设置响应集体
at_response_t at_resp_set_info(at_response_t resp, rt_size_t buf_size, rt_size_t line_num, rt_int32_t timeout);
//发送响应数据并接受响应
rt_err_t at_exec_cmd(at_response_t resp, const char*cmd_expr, ...);
//设置期待接收at 设备主动下发信息的响应函数
void at_set_urc_table(const struct at_urc *table, rt_size_t size);
  1. void samrt_config(void){
  2.         
  3.         
  4.           at_response_t resp = RT_NULL;
  5.     rt_err_t result = RT_EOK;
  6.           rt_uint8_t count=0;
  7.                 smart_config=1;//清除标志位
  8.            //创建响应数据
  9.     resp = at_create_resp(50, 0, rt_tick_from_millisecond(5000));
  10.     if (!resp)
  11.     {
  12.         LOG_E("No memory for response structure!");
  13.         result = -RT_ENOMEM;
  14.         goto __exit;
  15.     }
  16.         
  17.                   //发送智能配网指令
  18.                    if (at_exec_cmd(at_resp_set_info(resp, 128, 0, 20 * RT_TICK_PER_SECOND),"AT+CWSTARTSMART=3") != RT_EOK)
  19.     {
  20.    
  21.         result = -RT_ERROR;
  22.         goto __exit;
  23.     }
  24.                 rt_kprintf("智能配网配置中 .......");
  25.                 do{
  26.                            count++;
  27.                                 rt_thread_delay(100);        //1S
  28.                          if(count==30)//30秒超时退出
  29.                                  {
  30.                                          rt_kprintf("智能配网超时 .......");
  31.                                    result = -RT_ERROR;
  32.                                    break;
  33.                                          
  34.                                  }
  35.                    }
  36.                  while(smart_config==1);//判断配置是否成功
  37.                
  38.                   //停止智能配网指令
  39.            if (at_exec_cmd(at_resp_set_info(resp, 25, 0, 20 * RT_TICK_PER_SECOND),"AT+CWSTOPSMART") != RT_EOK)
  40.     {
  41.      
  42.         result = -RT_ERROR;
  43.         goto __exit;
  44.     }

  45. __exit:
  46.     if (resp)
  47.     {
  48.         at_delete_resp(resp);//删除结构体
  49.     }

  50.     if (!result)
  51.     {
  52.         rt_kprintf("智能配网成功");
  53.     }
  54.     else
  55.     {
  56.                         
  57.                         
  58.      rt_kprintf("智能配网失败 .......");
  59.     }
  60.         
  61. }
复制代码

090703a2ujw91asj1v6zsv.jpg
源码参考:https://www.stmcu.org.cn/module/forum/thread-621278-1-1.html里面的资料


收藏 评论2 发布时间:2019-8-2 17:43

举报

2个回答
时光虫子 回答时间:2019-8-5 09:26:29
旺宝科技,跟我之前火牛STM32图标一样
wbeast 回答时间:2019-8-5 14:10:15
时光虫子 发表于 2019-8-5 09:26
旺宝科技,跟我之前火牛STM32图标一样

老客户啊,

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版