当前位置: 首页 > news >正文

做p2p网站费用中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势

做p2p网站费用,中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势,如何做网站联盟,网站上qq未启用完整工程文件#xff08;百度网盘免费下载#xff0c;提取码#xff1a;0625#xff09;在文章末尾#xff0c;需要请移步至文章末尾。 目录 宏定义配置 串口通信配置 消息解析及数据发送 ESP8266初始化 注意事项 完整工程文件 经过基础教程使用AT指令连接阿里云后… 完整工程文件百度网盘免费下载提取码0625在文章末尾需要请移步至文章末尾。 目录 宏定义配置 串口通信配置 消息解析及数据发送 ESP8266初始化 注意事项 完整工程文件 经过基础教程使用AT指令连接阿里云后大家应该对设备连接云平台的基本流程有所了解。接下来我们将深入探讨如何通过STM32微控制器来配置和优化连接阿里云的过程。 STM32提供了广泛的控制和定制选项能够灵活应对复杂的物联网应用需求。利用STM32我们能够实现高效且可靠的设备与阿里云之间的通信支持各种复杂的数据传输和设备管理功能。 宏定义配置 当使用STM32微控制器连接到阿里云时通过宏定义可以显著提升代码的可读性和灵活性。在开始配置和编写代码之前通常会定义一些初始宏来简化代码的编写和调试过程。 //WIFI配置 #define ESP8266_WIFI_INFO ATCWJAP\ALIYUN\,\12345678\\r\n//阿里云证书配置 #define MQTT_CLIENT_ID j07fRDwyQJM.STM32D|securemode2\\,signmethodhmacsha256\\,timestamp1720052943739|#define MQTT_USER_NAME STM32Dj07fRDwyQJM#define MQTT_PASSWD 5c7858f8ec839caddb835afc8c9ea8351b1aa7867c05e8d84c8df4eaf9e88ae6#define ESP8266_CERT_INFO ATMQTTUSERCFG0,1,\MQTT_CLIENT_ID\,\MQTT_USER_NAME\,\MQTT_PASSWD\,0,0,\\\r\n//阿里云域名配置 #define MQTT_HOSTURL iot-06z00iurioijdlq.mqtt.iothub.aliyuncs.com#define ESP8266_ALIYUN_INFO ATMQTTCONN0,\MQTT_HOSTURL\,1883,0\r\n//数据下行 #define SUB_TOPIC /sys/j07fRDwyQJM/STM32D/thing/service/property/set#define ESP8266_SUBTOPIC_INFO ATMQTTSUB0,\SUB_TOPIC\,0\r\n//数据上行 #define PUB_TOPIC /sys/j07fRDwyQJM/STM32D/thing/event/property/post//上行数据 #define JSON_FORMAT {\\\params\\\:{\\\temp\\\:%d\\,\\\humi\\\:%d\\}\\,\\\version\\\:\\\1.0.0\\\} 串口通信配置 当配置STM32与阿里云通信时串口数据处理函数是至关重要的一部分用于处理从Wi-Fi模块或其他外设接收到的数据并与阿里云进行通信。 unsigned char esp8266_buf[256]; unsigned short esp8266_cnt 0, esp8266_cntPre 0;// // 函数名称 ESP8266_Clear // // 函数功能 清空缓存 // // 入口参数 无 // // 返回参数 无 // // 说明 // void ESP8266_Clear(void) {memset(esp8266_buf, 0, sizeof(esp8266_buf));esp8266_cnt 0;}// // 函数名称 ESP8266_WaitRecive // // 函数功能 等待接收完成 // // 入口参数 无 // // 返回参数 REV_OK-接收完成 REV_WAIT-接收超时未完成 // // 说明 循环调用检测是否接收完成 // _Bool ESP8266_WaitRecive(void) {if(esp8266_cnt 0) //如果接收计数为0 则说明没有处于接收数据中所以直接跳出结束函数return REV_WAIT;if(esp8266_cnt esp8266_cntPre) //如果上一次的值和这次相同则说明接收完毕{esp8266_cnt 0; //清0接收计数return REV_OK; //返回接收完成标志}esp8266_cntPre esp8266_cnt; //置为相同return REV_WAIT; //返回接收未完成标志}// // 函数名称 ESP8266_SendCmd // // 函数功能 发送命令 // // 入口参数 cmd命令 // res需要检查的返回指令 // // 返回参数 0-成功 1-失败 // // 说明 // _Bool ESP8266_SendCmd(char *cmd, char *res) {unsigned char timeOut 200;Usart_SendString(USART2, (unsigned char *)cmd, strlen((const char *)cmd));while(timeOut--){if(ESP8266_WaitRecive() REV_OK) //如果收到数据{if(strstr((const char *)esp8266_buf, res) ! NULL) //如果检索到关键词{ESP8266_Clear(); //清空缓存return 0;}}delay_ms(10);}return 1;} 消息解析及数据发送 当处理来自阿里云平台的下行数据以及上行数据时需要实现消息解析和向阿里云发送数据的功能具体涉及MQTT消息的解析和处理。 // // 函数名称 Json_Analysis // // 函数功能 JSON数据解析 // // 入口参数 json_data待解析数据 // // 返回参数 无 // // 说明 // void Json_Analysis(unsigned char *json_data) {cJSON *JSON_Value;cJSON* root cJSON_Parse((const char*)json_data);if(root NULL){UsartPrintf(USART_DEBUG,cJSON_Error!\r\n);}else{cJSON* items cJSON_GetObjectItem(root,items);cJSON* lighting cJSON_GetObjectItem(items,lighting);JSON_Value cJSON_GetObjectItem(lighting,value);if(JSON_Value -valueint){UsartPrintf(USART_DEBUG,OPEN_LED!\r\n);LED0 0;}else{UsartPrintf(USART_DEBUG,CLOSE_LED!\r\n);LED0 1;}}cJSON_Delete(root); }// // 函数名称 ESP8266_SendData // // 函数功能 发送数据 // // 入口参数 无 // // // 返回参数 无 // // 说明 // void ESP8266_SendData(void) {unsigned char cmdBuf[256];ESP8266_Clear(); //清空接收缓存sprintf((char *)cmdBuf,ATMQTTPUB0,\PUB_TOPIC\,\JSON_FORMAT\,0,0\r\n,temp,humi); //发送命令 while(ESP8266_SendCmd((char *)cmdBuf, OK));UsartPrintf(USART1,temp:%d, humi:%d\r\n,temp,humi); //调试串口打印 }// // 函数名称 ESP8266_ReceiveData // // 函数功能 接收数据 // // 入口参数 timeOut等待时间 // // 返回参数 无 // // 说明 // void ESP8266_ReceiveData(unsigned short timeOut) {char *ptrMQT NULL;unsigned int msg_len0;unsigned char msg_body[256] {0};do{if(ESP8266_WaitRecive() REV_OK) //如果接收完成{ptrMQT strstr((char *)esp8266_buf, MQTTSUBRECV:0); //搜索“MQT”头if(ptrMQT NULL) //如果没找到可能是MQT头的延迟还是需要等待一会但不会超过设定的时间{UsartPrintf(USART_DEBUG, \MQT\ not found\r\n);}else{sscanf((const char *)ptrMQT,MQTTSUBRECV:0,\SUB_TOPIC\,%d,%s,msg_len,msg_body);//UsartPrintf(USART_DEBUG,len:%d,msg:%s\r\n,msg_len,msg_body);Json_Analysis(msg_body);}}delay_ms(5);timeOut--; } while(timeOut 0); } ESP8266初始化 最后对ESP8266模块进行初始化以确保它能够与STM32微控制器实现通信为两者之间稳定的数据交换建立必要的基础。 // // 函数名称 ESP8266_Init // // 函数功能 初始化ESP8266 // // 入口参数 无 // // 返回参数 无 // // 说明 // void ESP8266_Init(void) {ESP8266_Clear();UsartPrintf(USART_DEBUG, 0. RST\r\n);while(ESP8266_SendCmd(ATRST\r\n, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 1. AT\r\n);while(ESP8266_SendCmd(AT\r\n, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 2. CWMODE\r\n);while(ESP8266_SendCmd(ATCWMODE1\r\n, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 3. CWDHCP\r\n);while(ESP8266_SendCmd(ATCWDHCP1,1\r\n, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 4. CWJAP\r\n);while(ESP8266_SendCmd(ESP8266_WIFI_INFO, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 5. CONFIG CERT INFO\r\n);while(ESP8266_SendCmd(ESP8266_CERT_INFO, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 6. CONFIG ALIYUN NETWORK\r\n);while(ESP8266_SendCmd(ESP8266_ALIYUN_INFO, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 7. SUBSCRIBE TOPIC\r\n);while(ESP8266_SendCmd(ESP8266_SUBTOPIC_INFO, OK))delay_ms(500);UsartPrintf(USART_DEBUG, 8. ESP8266 Init OK\r\n);} 注意事项 此外当处理大量的JSON数据时如果未调整栈的大小可能会导致栈溢出问题进而影响程序的运行结果甚至导致程序崩溃。在这种情况下需要手动调整栈的大小以确保程序能够正常运行。 堆栈大小调整 打开启动文件后点击下方的Configuration Wizard通过Option设置框调整堆栈空间的大小。建议将堆栈大小设置为以下数值 Stack_Size EQU 0x00000800Heap_Size EQU 0x00000400 完整工程文件​​​​​​​
文章转载自:
http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn
http://www.morning.lctrz.cn.gov.cn.lctrz.cn
http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn
http://www.morning.knsmh.cn.gov.cn.knsmh.cn
http://www.morning.xsfny.cn.gov.cn.xsfny.cn
http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn
http://www.morning.wbxtx.cn.gov.cn.wbxtx.cn
http://www.morning.jqbmj.cn.gov.cn.jqbmj.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.ybmp.cn.gov.cn.ybmp.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.ykbgs.cn.gov.cn.ykbgs.cn
http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn
http://www.morning.wxfjx.cn.gov.cn.wxfjx.cn
http://www.morning.ktyww.cn.gov.cn.ktyww.cn
http://www.morning.mtzyr.cn.gov.cn.mtzyr.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.rgwz.cn.gov.cn.rgwz.cn
http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn
http://www.morning.grbp.cn.gov.cn.grbp.cn
http://www.morning.rpjyl.cn.gov.cn.rpjyl.cn
http://www.morning.ktmpw.cn.gov.cn.ktmpw.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.bftr.cn.gov.cn.bftr.cn
http://www.morning.cznsq.cn.gov.cn.cznsq.cn
http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.smnxr.cn.gov.cn.smnxr.cn
http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn
http://www.morning.0dirty.cn.gov.cn.0dirty.cn
http://www.morning.dbxss.cn.gov.cn.dbxss.cn
http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn
http://www.morning.trwkz.cn.gov.cn.trwkz.cn
http://www.morning.nykzl.cn.gov.cn.nykzl.cn
http://www.morning.hmsong.com.gov.cn.hmsong.com
http://www.morning.51meihou.cn.gov.cn.51meihou.cn
http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn
http://www.morning.pflry.cn.gov.cn.pflry.cn
http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn
http://www.morning.jcrlx.cn.gov.cn.jcrlx.cn
http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn
http://www.morning.cyyhy.cn.gov.cn.cyyhy.cn
http://www.morning.srbmc.cn.gov.cn.srbmc.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.xckrj.cn.gov.cn.xckrj.cn
http://www.morning.rxnxl.cn.gov.cn.rxnxl.cn
http://www.morning.xbhpm.cn.gov.cn.xbhpm.cn
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.w58hje.cn.gov.cn.w58hje.cn
http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn
http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn
http://www.morning.mpgfk.cn.gov.cn.mpgfk.cn
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn
http://www.morning.ttrdr.cn.gov.cn.ttrdr.cn
http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com
http://www.morning.ytfr.cn.gov.cn.ytfr.cn
http://www.morning.xmttd.cn.gov.cn.xmttd.cn
http://www.morning.mnbgx.cn.gov.cn.mnbgx.cn
http://www.morning.srxhd.cn.gov.cn.srxhd.cn
http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn
http://www.morning.pshtf.cn.gov.cn.pshtf.cn
http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.qblcm.cn.gov.cn.qblcm.cn
http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com
http://www.morning.pctsq.cn.gov.cn.pctsq.cn
http://www.morning.syhwc.cn.gov.cn.syhwc.cn
http://www.morning.wkknm.cn.gov.cn.wkknm.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.rhsg.cn.gov.cn.rhsg.cn
http://www.morning.pxlql.cn.gov.cn.pxlql.cn
http://www.morning.qpqcq.cn.gov.cn.qpqcq.cn
http://www.morning.xesrd.com.gov.cn.xesrd.com
http://www.morning.skrcn.cn.gov.cn.skrcn.cn
http://www.morning.lndongguan.com.gov.cn.lndongguan.com
http://www.tj-hxxt.cn/news/269851.html

相关文章:

  • 免费建立一个个人网站网站建设便宜
  • 上海嘉定网站建设婚庆公司排名前十
  • 网站建设一六八互联如何用易语言做网站辅助
  • 每月网站开发费用电脑网页浏览器
  • 2免费做网站页面设计粉色好处
  • 做食材的网站后台给网站做关键字
  • 建个网站多少费用赣州网上房地产备案网
  • 一起做陶瓷官方网站画册模板
  • 房产网站排行天津市建筑信息网
  • 实惠的制作网站微信加人推码35一单
  • 辽宁省网站备案系统广州建设集团有限公司
  • 公司做网站需要准备什么条件自己做的网站怎么备案
  • wordpress 访问速度seo研究中心vip教程
  • 用php做视频网站有哪些社区网站的建设
  • 阿里巴巴吧国际网站怎么做如何创建一个网站卖东西
  • 买网站平台名字吗手机软件开发培训班
  • 北京市优化网站宝安网站建设方案外包
  • 株洲市建设网站查询网站开发
  • 汕头建站模板系统网站建设的好处
  • 帮人做网站的推广seo工作怎么样
  • 给网站写文章怎么做的官网设计企业
  • 企业门户网站解决方案网站制作苏州企业
  • 网站开发与维护是学什么网站开发模板下载
  • dede 网站地图怎么做网站建设与设计的心得体会
  • 深圳怎么注册公司网站聊城经济技术开发区人才网
  • 网站域名哪看许昌市住房建设局网站
  • 做一个响应式网站价格怎么做网站内部链接
  • 佛山市外贸企业高端网站设计公司网站设计用什么
  • 验证码网站搭建网站备案费用多少
  • 赛车网站开发宁德网站建设51yunsou