找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14854|回复: 24
打印 上一主题 下一主题
收起左侧

STM32数字示波器 带ESP8266wifi 参数传到手机APP

  [复制链接]
跳转到指定楼层
楼主
stm32数字示波器 带ESP8266wifi 参数传到手机APP,使用内部ADC 进行采样,DMA模式,TFT彩屏显示。

信号产生程序 用于下载到另外一块普中STM32开发板上通过PC1口产生一个脉冲信号,然后在另外一块普中STM32开发板下载简易示波器程序,将一根导线将装有信号发生器程序的板子PC1口接到装有示波器程序的PA2口上进行检测,一般通过按键调节,将频率值调节到1000000us/div,电压调节到500mv/div

程序仅供参考,如有问题可参考实验例程内的一些基础程序理解


附件中有简易示波器stm32源程序和信号产生程序
部分单片机代码预览如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "button.h"
  6. #include "lcd_driver.h"
  7. #include "gui.h"
  8. #include "tim.h"
  9. #include "stm32f10x_it.h"
  10. #include "systeminit.h"
  11. #include "adc.h"
  12. #include "displaycanshu.h"

  13. #include "system.h"
  14. #include "SysTick.h"
  15. #include "esp8266_drive.h"
  16. #include "sta_tcpclent_test.h"

  17. u16 b = 0;
  18. float temp;
  19. float temp1;

  20. u8 res;
  21. char str[100]={0};
  22. u8 Vmax_alarm[5];

  23. int main(void)
  24. {        
  25.                         u8 i;

  26.                         delay_init();

  27.                         rcc_init();                           //外设时钟配置        
  28.                         led_init();                                
  29.                         TFT_Init();
  30.                         TFT_ClearScreen(BLACK);

  31.                         nvic_init();                   // 中断优先级配置
  32.                         gpio_init();                           //外设io口配置
  33.                         set_io0();
  34.                         key_init();
  35.         
  36.                         ADC1_Init();        //adc配置
  37.                         set_background();                  //初始化背景
  38.                         
  39.                         time_init();                        //定时器配置,测频率用的二个定时器
  40.                         time_enable();                        //同步开始计数

  41.                         ADC_Get_Value();
  42.                         vpp = ADC_Get_Vpp();
  43.                         
  44.       Systick_Init(72);
  45.                         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  46.                         USART1_Init(115200);
  47.                         printf("普中科技ESP8266 WIFI模块STA TCPClent透传测试\r\n");
  48.                         ESP8266_Init(115200);
  49.                         ESP8266_STA_TCPClient_Test();                                
  50.         
  51.                                 while ( 1 )
  52.         {               
  53.                 if(Vmax>=3000)
  54.                 { Vmax_alarm[0]='A';
  55.                   Vmax_alarm[1]='l';
  56.                   Vmax_alarm[2]='a';
  57.                   Vmax_alarm[3]='r';
  58.                   Vmax_alarm[4]='m';}
  59.                 else
  60.                 { Vmax_alarm[0]='I';
  61.                   Vmax_alarm[1]='s';
  62.                   Vmax_alarm[2]=' ';
  63.                   Vmax_alarm[3]='O';
  64.                   Vmax_alarm[4]='k';}
  65.                 sprintf(str,"\r\nfrequency=%dHz\r\n  Vmax=%dmV\r\n  vpp=%dmV\r\n",frequency,Vmax,vpp);
  66.                 ESP8266_SendString ( ENABLE, str, 0, Single_ID_0 );//向手机WIFI发送信号的频率
  67.                 ESP8266_SendString ( ENABLE, Vmax_alarm, 0, Single_ID_0 );
  68.                
  69.                                                                         /*********************绘制电压曲线************************************/        
  70.                 //gpio_init();               
  71.                 for(b=index;b<index+250;b++)
  72.                         {
  73.                                 temp = a[b] * 3300 / 4096  *  25 /vcc_div;
  74.                                 temp1 = a[b + 1] * 3300 / 4096 * 25 / vcc_div;
  75.                                 clear_point(b-index);        
  76.                                 if(temp>200) {temp=200;}
  77.                                 if(temp<0)   {temp=0;}
  78.                                 if(temp1>200){temp1=200;}
  79.                                 if(temp1<0)  {temp1=0;}
  80.                                 
  81.                                 lcd_huadian(b-index,temp,POINT_COLOR);                                
  82.                                 lcd_huaxian(b-index,temp,b-index+1,temp1,POINT_COLOR);               
  83.                                 hua_wang();                 
  84.                         }
  85.                
  86.                         displaycanshu();
  87.                         
  88.                         
  89.                         ADC_Get_Value();
  90.                         vpp = ADC_Get_Vpp();//当中包括了最大值的获取
  91.                         

  92.                 if(TcpClosedFlag) //检测是否失去连接
  93.                 {
  94.                         ESP8266_ExitUnvarnishSend(); //退出透传模式
  95.                         do
  96.                         {
  97.                                 res = ESP8266_Get_LinkStatus();     //获取连接状态
  98.                         }         
  99.                         while(!res);
  100.                         
  101.                         if(res == 4)                     //确认失去连接后重连
  102.                         {
  103.                                 printf ( "\r\n请稍等,正在重连热点和服务器...\r\n" );
  104.                                 
  105.                                 while (!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );
  106.                                 
  107.                                 while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT, Single_ID_0 ) );
  108.                                 
  109. ……………………

  110. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

完整的源码资料51hei提供下载:
简易示波器应用(黑底加WIFI).7z (9.65 MB, 下载次数: 211)



下面是app的相关资料下载和介绍:
附件中的代码,在安信可测试板上通过单片机运行AI-CLOUD 安信可云协议,完成用AT固件的方式开发,从SMARTLINK 到 设备与手机绑定,以及数据的双向收发

功能,本程序可以移植到STM8的1元单片机中,配合内含安信可云协议的AT固件模块(价格不变),即可实现低成本的各类平台应用方案!

安信可能为你提供的:

1  ESP8266 SDK 源码底层级别的技术支持

2  云服务平台的协助免费搭建

3  APP端的免费提供,以及框架支持。

4  OEM代加工 ,固件代定制,代烧写

综上三点,安信可 可以提供基于ESP8266 的所有行业,整套方案技术支持,客户部分大小都会用心支持!


配合两个模拟器,您可以迅速理解云平台的实现细节!

安信可 5月12日后的WIFI 模块支持 云透传功能,也就是客户可以远程异地经过手机或平板终端 直接传
数据和模块,因此模块的应用可以全球随时控制,而不是局限于内部网络,新增3条远程网际透传指令:

1. AT+CLDSTART
    启动云端连接。缺省参数为安信可云平台。有两种执行方式:
    AT+CLDSTART
    或
    AT+CLDSTART="cloud.ai-thinker.com"
    AT+CLDSTART="cloud.ai-thinker.com",5001
    AT+CLDSTART="cloud.ai-thinker.com",5001,10210
    第一个参数是域名,第二个参数是端口号,第三个参数是本地端口号.
    其中如果用户没有指定域名,缺省值是"cloud.ai-thinker.com"
    如果用户没有指定端口号,远程缺省值是5001,本地缺省值是10210.
    用户的参数会覆盖缺省参数。
    执行词条指令后,系统会自动维护云端的连接与心跳包,以及断线重连。系统会处理所有协议层。
    举例:
    AT+CLDSTART="cloud.ai-thinker.com"
    OK
2. AT+CLDSTOP
    停止云端连接。释放所有与云端有关的系统资源。
    举例:
    AT+CLDSTOP
    OK
3. AT+CLDSEND=<len>
    向云端发送数据。
    参数是数据长度,执行此命令后,系统会返回">",此时可发送一定长度的数据。
    举例:
    AT+CLDSEND=10
    OK
    >0123456789
    SEND OK
   
4. 数据接收
    云端数据来时,会收到+CLD,<len>:<data>
    len是数据长度,data 是具体的数据。
    举例:

+CLD,6:123456
+CLD,6:123456
+CLD,6:123456
5. 智能连接
    AT+CWMODE=1
    AT+SMARTSTART=1
    此时使用ESP_TOUCH技术进行配置.

包含如下资料:
大黑板单片机程序\
APP安卓源码.rar
ESP8266用外置C51实现云协议(云协议51实现).zip
ESP8266用外置C51应用云协议(云协议固件实现).zip
SmartHomeV3.7.apk
WIFI模拟器.rar
一个小时搭建整套物联网方案(基于Black board T5).docx
使用说明.txt
安信可物联网云协议(免费).pdf
手机模拟器.rar
通信协议-20150616.doc



全部资料下载:
ESP8266远程控制应用 APP源码.7z (11.87 MB, 下载次数: 197)


评分

参与人数 3黑币 +109 收起 理由
Nobleyinhuan + 4 很给力!
qjzyx + 5 赞一个!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏21 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:1 发表于 2017-5-28 17:15 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:196311 发表于 2017-5-28 23:08 | 只看该作者
很早就有这种想法,楼主先做到了,谢谢分享
回复

使用道具 举报

地板
ID:244934 发表于 2017-11-1 14:31 | 只看该作者
楼主,好东西啊,我下载来学习一下
回复

使用道具 举报

5#
ID:245536 发表于 2017-11-3 14:39 | 只看该作者
好贴,必须支持一下!!!
回复

使用道具 举报

6#
ID:247602 发表于 2017-11-9 10:40 | 只看该作者
谢谢了 楼主
回复

使用道具 举报

7#
ID:111676 发表于 2018-1-19 12:39 | 只看该作者
好贴,必须支持一下!!!
回复

使用道具 举报

8#
ID:280887 发表于 2018-1-30 14:20 | 只看该作者
现在在学arm,下载来参考一下。
回复

使用道具 举报

9#
ID:223291 发表于 2018-2-13 15:13 | 只看该作者
楼主想法不错
回复

使用道具 举报

10#
ID:266116 发表于 2018-2-13 20:49 | 只看该作者
谢谢分享,好好学学!
回复

使用道具 举报

11#
ID:296103 发表于 2018-3-23 22:00 | 只看该作者
好贴,必须支持一下!!!
回复

使用道具 举报

12#
ID:361006 发表于 2018-7-7 10:47 | 只看该作者
学习下wifi透传,这么好的资料
回复

使用道具 举报

13#
ID:142638 发表于 2018-9-21 19:41 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
ID:333358 发表于 2018-9-21 23:34 来自手机 | 只看该作者
楼主,你能把你的原理图还有pcb图给我不,有偿
回复

使用道具 举报

15#
ID:137736 发表于 2018-10-15 21:32 来自手机 | 只看该作者
太好了,能否实现用8266的A0数据直接传到APP
回复

使用道具 举报

16#
ID:31770 发表于 2018-10-21 21:46 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

17#
ID:399179 发表于 2018-10-23 18:52 来自手机 | 只看该作者
不知道能不能学会
回复

使用道具 举报

18#
ID:414527 发表于 2018-10-24 11:28 | 只看该作者
求楼主指点
回复

使用道具 举报

19#
ID:431246 发表于 2018-11-22 15:43 | 只看该作者
有电路图吗?
回复

使用道具 举报

20#
ID:431364 发表于 2018-11-22 18:51 来自手机 | 只看该作者
好资料,学习。
回复

使用道具 举报

21#
ID:278145 发表于 2018-12-20 11:48 | 只看该作者
谢谢分享,学习了
回复

使用道具 举报

22#
ID:430514 发表于 2020-3-30 17:07 | 只看该作者
终于找到了
回复

使用道具 举报

23#
ID:253767 发表于 2020-5-26 07:32 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

24#
ID:82752 发表于 2023-3-10 14:32 | 只看该作者
好贴,必须支持一下
回复

使用道具 举报

25#
ID:308785 发表于 2023-5-13 21:21 | 只看该作者
学习一下数据交互的地方
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表