收藏官网首页
查看: 494015|回复: 590

[资料] 3分钟教你创建手机APP远程温度监控应用,图形化编程!

 

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
跳转到指定楼层
#
发表于 2016-9-18 19:16:28 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 bigfanofloT 于 2016-9-23 17:22 编辑

版权所有,转载请注明出处http://club.gizwits.com/home.php?mod=space&uid=7261
对,你没有看错!!!3分钟教你创建手机APP远程温度监控应用图形化编程,自动代码生成,麻麻再也不用担心我不会编程了,纯傻瓜式开发方式!机智云,物联网智能硬件平台领导者,重新定义智能设备开发
下面基于机智云gokit V2.1硬件平台,教你如何把温湿度传感器数值通过单片机上报到云端,然后在自动生成的安卓手机APP上显示。
请看组图(后面附源码和PDF版教程下载):
首先登陆机智云开发者中心:
创建新产品。



添加数据点。

然后在MCU开发里面,下载生成的Keil MDK工程,使用Keil软件打开。
这里,我们从机智云官网下载Gokit V2.1 STM32底板 微信宠物屋源码,把里面的关于延时文件、RGBLED驱动文件和温湿度传感器驱动文件拷贝到我们的工程中来,并添加好文件和编译路劲。

后面附件会给出这几个驱动文件的官网和本地下载方式。
这里我们需要定义2个全局变量来保存读取的温湿度数值。

用户初始化函数,把用户驱动的初始化添加到这里。

用户数据处理接口,把温湿度的读取放到这里,并且填充数据结构以达到上报目的。这里注意的是延时函数的合理调用,不可上报过快。

我们在按键处理这里添加两个指示,因为生成的测试手机APP在配置入网时会有提示,这个不是必须的。如何触发配置入网模式?采用什么模式完全由用户代码决定,这里是为了配合测试用APP的提示。


下面是主函数,完全不需要用户修改。


MCU工程弄好后,编译并下载,这里不再赘述。
然后我们插上USB线连接电脑,打开串口调试助手可以看到调试信息;
到开发者中心下载测试APP,这里不再赘述,不清楚的请参考前期教程:
下面给出关键步骤调试信息。
一切就绪后,长按KEY2 2S进行配置连接路由器,我们使用的触发配置入网方式为长按KEY2,AirLink方式,当然用户可以自定义触发方式和配置方式。
这里给出演示视频:
超级简单有木有,so奔走相告吧
附件:
1.STM32底板,Gokit V2.1 微信宠物屋源码官方下载:
游客,如果您要查看本帖隐藏内容请回复
这个工程里面包含了Gokit上面外设的驱动文件。
2.STM32底板 Gokit V2.1,外设驱动打包下载:
游客,如果您要查看本帖隐藏内容请回复

3.本例程源码下载:
游客,如果您要查看本帖隐藏内容请回复
4.PDF版教程下载:
游客,如果您要查看本帖隐藏内容请回复






1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

1

主题

8

帖子

134

积分

注册会员

Rank: 2

积分
134
推荐
发表于 2017-12-27 22:39:13 | 只看该作者
bigfanofloT 发表于 2017-12-10 19:00
把你的代码发上来看看呗

int32_t uartWrite(uint8_t *buf, uint32_t len)
{
                uint8_t crc[1] = {0x55};
    uint32_t i = 0;
                  uint8_t aa=0x55;
    if(NULL == buf)
    {
        return -1;
    }

    for(i=0; i<len; i++)
    {
     // HAL_UART_Transmit_IT(&huart2, (uint8_t *)&buf, 1);
                HAL_UART_Transmit(&huart2, (uint8_t *)&buf, 1,50);
        //        while (huart2.State != HAL_UART_STATE_READY);//Loop until the end of transmission

        if(i >=2 && buf == 0xFF)
        {
                //        HAL_UART_Transmit_IT(&huart2, (uint8_t *)&crc, 1);
                        HAL_UART_Transmit(&huart2, (uint8_t *)&buf, 1,50);                       
                //        while (huart2.State != HAL_UART_STATE_READY);//Loop until the end of transmission
        }
    }

#ifdef PROTOCOL_DEBUG
    GIZWITS_LOG("MCU2WiFi[%4d:%4d]: ", gizGetTimerCount(), len);
    for(i=0; i<len; i++)
    {
        GIZWITS_LOG("%02x ", buf);

        if(i >=2 && buf == 0xFF)
        {
            GIZWITS_LOG("%02x ", 0x55);
        }
    }
    GIZWITS_LOG("\n");
#endif
               
                return len;
}
程序注掉的地方是中断发送的,这么写,程序运行有问题,按照你的换成轮询的就好了,而且咱们用CubeMx生成的hal_uart.h文件中的结构体UART_HandleTypeDef中是这样的
typedef struct
{
  USART_TypeDef                 *Instance;        /*!< UART registers base address        */

  UART_InitTypeDef              Init;             /*!< UART communication parameters      */

  uint8_t                       *pTxBuffPtr;      /*!< Pointer to UART Tx transfer Buffer */

  uint16_t                      TxXferSize;       /*!< UART Tx Transfer size              */

  uint16_t                      TxXferCount;      /*!< UART Tx Transfer Counter           */

  uint8_t                       *pRxBuffPtr;      /*!< Pointer to UART Rx transfer Buffer */

  uint16_t                      RxXferSize;       /*!< UART Rx Transfer size              */

  uint16_t                      RxXferCount;      /*!< UART Rx Transfer Counter           */  

  DMA_HandleTypeDef             *hdmatx;          /*!< UART Tx DMA Handle parameters      */

  DMA_HandleTypeDef             *hdmarx;          /*!< UART Rx DMA Handle parameters      */

  HAL_LockTypeDef               Lock;             /*!< Locking object                     */

  __IO HAL_UART_StateTypeDef    State;            /*!< UART communication state           */
  
  __IO uint32_t                 ErrorCode;        /*!< UART Error code                    */
}UART_HandleTypeDef;
而官网生成的代码是这样的,我忘了是官网生成的还是你的一个教程里面的,是这样的typedef struct
{
  USART_TypeDef                 *Instance;        /*!< UART registers base address        */

  UART_InitTypeDef              Init;             /*!< UART communication parameters      */

  uint8_t                       *pTxBuffPtr;      /*!< Pointer to UART Tx transfer Buffer */

  uint16_t                      TxXferSize;       /*!< UART Tx Transfer size              */

  __IO uint16_t                 TxXferCount;      /*!< UART Tx Transfer Counter           */

  uint8_t                       *pRxBuffPtr;      /*!< Pointer to UART Rx transfer Buffer */

  uint16_t                      RxXferSize;       /*!< UART Rx Transfer size              */

  __IO uint16_t                 RxXferCount;      /*!< UART Rx Transfer Counter           */

  DMA_HandleTypeDef             *hdmatx;          /*!< UART Tx DMA Handle parameters      */

  DMA_HandleTypeDef             *hdmarx;          /*!< UART Rx DMA Handle parameters      */

  HAL_LockTypeDef               Lock;             /*!< Locking object                     */

  __IO HAL_UART_StateTypeDef    gState;           /*!< UART state information related to global Handle management
                                                       and also related to Tx operations.
                                                       This parameter can be a value of @ref HAL_UART_StateTypeDef */
  
  __IO HAL_UART_StateTypeDef    RxState;          /*!< UART state information related to Rx operations.
                                                       This parameter can be a value of @ref HAL_UART_StateTypeDef */

  __IO uint32_t                 ErrorCode;        /*!< UART Error code                    */
}UART_HandleTypeDef;
后面那部分不一样,不知道是不是这个原因导致的

点评

发送用轮询,接收用中断才是对的  详情 回复 发表于 2017-12-28 10:37

2

主题

140

帖子

897

积分

高级会员

Rank: 4

积分
897
推荐
发表于 2016-11-8 20:48:55 | 只看该作者
bigfanofloT 发表于 2016-11-8 20:39
要另外买仿真器Jlink或者STlink

我刚用你教的“3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生.”控制了一个LED,我想用这样的办法控制STM32F103C8T6的全部输出(都用做输出),能不能指导一二?版主!因为其他的温湿度采集,马达正反转都有现成的,就是没有全部引脚定义并控制的,盼版主回复,谢谢!

点评

控制LED的话,原理是相通的,都属于开关量下发控制,你要控制多少个就在云端创建多少个数据点,然后把硬件搭建好,在MCU端编写底层驱动就可以了,照着葫芦画瓢,推荐使用STM32CubeMX图形化配置。  详情 回复 发表于 2017-2-9 15:37

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
推荐
 楼主| 发表于 2017-2-9 15:37:46 | 只看该作者
tianzuoan 发表于 2016-11-8 20:48
我刚用你教的“3分钟教你创建WIFI远程控制应用,图形化编程,自动代码生.”控制了一个LED,我想用这样的 ...

控制LED的话,原理是相通的,都属于开关量下发控制,你要控制多少个就在云端创建多少个数据点,然后把硬件搭建好,在MCU端编写底层驱动就可以了,照着葫芦画瓢,推荐使用STM32CubeMX图形化配置。
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

0

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
586#
发表于 2024-5-14 20:32:10 | 只看该作者
大家好 很高兴遇见

0

主题

3

帖子

58

积分

注册会员

Rank: 2

积分
58
585#
发表于 2024-4-28 20:34:23 | 只看该作者
自己的产品标识码 也就看看,学习一下,谢谢分享!是PRODUCT_KEY  那个后三位也不用改

0

主题

2

帖子

43

积分

新手上路

Rank: 1

积分
43
584#
发表于 2024-4-20 19:58:31 | 只看该作者
赞赞                                    

1

主题

4

帖子

176

积分

注册会员

Rank: 2

积分
176
583#
发表于 2024-2-18 06:33:43 | 只看该作者
你好,新手,学习

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
582#
发表于 2023-9-27 19:17:31 | 只看该作者
免费使用STM32、APP自动代码生成工具
系列教程,太棒了!

0

主题

2

帖子

26

积分

新手上路

Rank: 1

积分
26
581#
发表于 2023-6-1 17:53:21 | 只看该作者
666666666666666666666666666666

0

主题

6

帖子

74

积分

注册会员

Rank: 2

积分
74
580#
发表于 2023-5-26 16:18:37 | 只看该作者

校园创客福利1.STM32底板,Gokit V2.1 微信宠物屋源码官方下载:

0

主题

2

帖子

49

积分

新手上路

Rank: 1

积分
49
578#
发表于 2023-5-6 10:49:05 | 只看该作者
1111111111111111111

0

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
574#
发表于 2023-1-11 13:15:56 | 只看该作者
非常值得学习的全流程开发实践

1

主题

2

帖子

89

积分

注册会员

Rank: 2

积分
89
572#
发表于 2022-10-25 14:15:59 | 只看该作者
免费使用STM32、APP自动代码生成工具
谢谢,感谢楼主分享这么好的

0

主题

2

帖子

34

积分

新手上路

Rank: 1

积分
34
571#
发表于 2022-9-28 10:03:44 | 只看该作者
dddddddddddddddddddddddddddddddddddddddddddddddddd

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
570#
发表于 2022-6-16 22:13:03 | 只看该作者
3分钟教你创建手机APP远程温度监控应用,图形化编程! [修改]

0

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
569#
发表于 2022-3-3 14:54:32 | 只看该作者
只能看懂10%的字
看来还要学习学习

1

主题

4

帖子

127

积分

注册会员

Rank: 2

积分
127
568#
发表于 2022-2-22 13:48:48 | 只看该作者
感谢楼主分享,小白来学习辽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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