当前位置:   article > 正文

stm32毕设项目-基于stm32的智能药箱--通过ESP8266连接阿里云_stm32毕设代做

stm32毕设代做

1、前提准备

   需要先在阿里云平台建立设备实例,对学生来说还是挺不错的,有一定限度的免费使用,只是拿来做毕设或者简单的学习使用,绰绰有余了。

提前准备好的有:

1、WIFI ,这里注意wifi需要2.4G最好不要用5G的,否则很有可能搜索不到。

2、阿里云设备实例:需要获取到CID号,用户名和密码

  1. #include "./BSP/ESP/esp.h"
  2. #include "./SYSTEM/usart/usart.h"
  3. #include "./SYSTEM/delay/delay.h"
  4. #include "./BSP/LCD/lcd.h"
  5. int Temperature;
  6. int Shidu;
  7. uint8_t Switch2;
  8. extern char RECS[250];
  9. const char* WIFI ="1MI9"; //WIFI名,每个人的不一样
  10. const char* WIFIASSWORD="11111111"; //wifi密码
  11. const char* ClintID="a1lzbFHmhfC.test1|securemode=2\\,signmethod=hmacsha256\\,timestamp=1678437715518|"; // 设备CID号
  12. const char* username="test1&a1lzbFHmhfC"; //设备账号,用于登录设备,获取设备信息
  13. 设备密码,用于登录设备,获取设备信息
  14. const char* passwd="562e68809d86622e2e7b1d96ead6f0a33260195c524a7393cff46536d6af272e";
  15. //阿里云物联网平台域名
  16. const char* Url="a1lzbFHmhfC.iot-as-mqtt.cn-shanghai.aliyuncs.com";
  17. //通讯事件选择账号中的设备
  18. const char* pubtopic="/sys/a1lzbFHmhfC/test1/thing/event/property/post";
  19. //设置通讯事件 为上传数据
  20. const char* subtopic="thing.event.property.post";
  21. //自定义函数获取温度
  22. const char* func1="temperature";
  23. //自定义函数获取湿度
  24. const char* func2="Humidity";
  25. //获取报警开关
  26. const char* func3="AlarmSwitch";
  27. //初始化,开机时连接阿里云,显示连接进度
  28. char esp_Init(void)
  29. {
  30. printf("AT\r\n");
  31. delay_ms(500);
  32. lcd_show_num(160, 160,1, 3, 16, RED);
  33. printf("AT+RST\r\n"); //重启
  34. delay_ms(500);
  35. lcd_show_num(160, 160,2, 3, 16, RED);
  36. printf("ATE0\r\n"); //关闭回显
  37. delay_ms(100);
  38. lcd_show_num(160, 160,3, 3, 16, RED);
  39. printf("AT+CWMODE=1\r\n"); //Station模式
  40. lcd_show_num(160, 160,4, 3, 16, RED);
  41. delay_ms(500);
  42. printf("AT+CIPSNTPCFG=1,8,\"ntp1.aliyun.com\"\r\n"); //连接阿里云域名
  43. lcd_show_num(160, 160,5, 3, 16, RED);
  44. delay_ms(1000);
  45. printf("AT+CWJAP=\"%s\",\"%s\"\r\n",WIFI,WIFIASSWORD); //连接热点
  46. lcd_show_num(160, 160,6, 3, 16, RED);
  47. delay_ms(1000);
  48. printf("AT+MQTTUSERCFG=0,1,\"NULL\",\"%s\",\"%s\",0,0,\"\"\r\n",username,passwd);//用户信息配置
  49. lcd_show_num(160, 160,7, 3, 16, RED);
  50. delay_ms(1500);
  51. printf("AT+MQTTCLIENTID=0,\"%s\"\r\n",ClintID);//用户信息配置
  52. lcd_show_num(160, 160,8, 3, 16, RED);
  53. delay_ms(2000);
  54. printf("AT+MQTTCONN=0,\"%s\",1883,1\r\n",Url); //连接服务器
  55. lcd_show_num(160, 160,9, 3, 16, RED);
  56. delay_ms(2000);
  57. printf("AT+CIPSNTPCFG=1,8\r\n");
  58. //printf("AT+MQTTSUB=0,\"%s\",1\r\n",subtopic); //订阅消息
  59. return 0;
  60. }
  61. //断开与阿里云的连接
  62. void disconnect(void)
  63. {
  64. printf("AT+MQTTCLEAN=0\r\n");
  65. delay_ms(1200);
  66. }
  67. //连接阿里云
  68. void connect(void)
  69. {
  70. printf("AT+CIPSNTPCFG=1,8,\"ntp1.aliyun.com\"\r\n"); //连接阿里云域名
  71. delay_ms(500);
  72. printf("AT+CWJAP=\"%s\",\"%s\"\r\n",WIFI,WIFIASSWORD); //连接热点
  73. delay_ms(1000);
  74. printf("AT+MQTTUSERCFG=0,1,\"NULL\",\"%s\",\"%s\",0,0,\"\"\r\n",username,passwd);//用户信息配置
  75. delay_ms(500);
  76. printf("AT+MQTTCLIENTID=0,\"%s\"\r\n",ClintID);//用户信息配置
  77. delay_ms(500);
  78. printf("AT+MQTTCONN=0,\"%s\",1883,1\r\n",Url); //连接服务器
  79. delay_ms(500);
  80. printf("AT+CIPSNTPCFG=1,8\r\n");
  81. delay_ms(500);
  82. }
  83. /*向阿里云传输数据,传输数据格式遵循阿里云的格式,可能会被阿里修改,如果不能正常传输,可以去阿里云上模拟一次数据传输,看它的格式是什么样的,再仿照它的格式来写,输出指定符号需要换行符,所以代码中有较多斜杠*/
  84. void Sent_info(int Temperature,int Shidu,int Switch2)
  85. {
  86. printf("AT+MQTTPUB=0,\"%s\",\"{\\\"method\\\":\\\"thing.event.property.set\\\"\\,\\\"params\\\":{\\\"%s\\\":%d\\,\\\"%s\\\":%d}}\",0,0\r\n",pubtopic,func1,Temperature,func2,Shidu);
  87. delay_ms(1000);
  88. //Temperature++;
  89. }
  90. void sendEatMedic(int Temperature,int Shidu,int Switch2)
  91. {
  92. printf("AT+MQTTPUB=0,\"%s\",\"{\\\"method\\\":\\\"thing.event.property.set\\\"\\,\\\"params\\\":{\\\"%s\\\":%d\\,\\\"%s\\\":%d\\,\\\"%s\\\":%d}}\",0,0\r\n",pubtopic,func1,Temperature,func2,Shidu,func3,Switch2);
  93. delay_ms(100);
  94. }

单片机与ESP8266为串口通讯,通过printf()的方式,实际是串口输出给ESP8266信息,即通过串口实现AT指令,让esp8266实现对应的功能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/578073
推荐阅读
相关标签
  

闽ICP备14008679号