机智云代码移植_一步一步移植麒麟座例程到机智云GoKit V2.1

本帖最后由 hiyle 于 2016-12-14 15:53 编辑

由于麒麟座开发版申请很慢,而很多朋友之前都有机智云的GoKit的开发版,我们可以利用起来学习OneNET的接入。

例程:麒麟座OneNET_Demo_ESP8266_EDP_Sensors

开发版:机智云Gokit V2.1

移植过程:

1、 给ESP8266烧写AT固件

A、Gokit V2.1上面的ESP8266模块型号是ESP12-F,其引脚图如下:

001.jpg (0 Bytes, 下载次数: 426)

2016-12-14 14:33 上传

B、烧写固件需要将GPIO0拉低到地,如下图说明;

002.jpg (0 Bytes, 下载次数: 440)

2016-12-14 14:34 上传

C、下载1.5.4的AT固件

ESP8266-固件V1.5.4.zip

(612.69 KB, 下载次数: 1957)

2016-12-14 14:37 上传

点击文件名下载附件

D、下载固件烧写程序

E、硬件连接,使用USB-转USART TTL板,连接如下:

10091963721334957-1.jpg (0 Bytes, 下载次数: 435)

2016-12-14 14:39 上传

连接好之后的样子

119115931933157308-1.jpg (0 Bytes, 下载次数: 459)

2016-12-14 14:40 上传

F、打开烧写文件,按如下设置,按START之后再给开发版上电,烧写程序;

003.jpg (0 Bytes, 下载次数: 436)

2016-12-14 14:43 上传

004.jpg (0 Bytes, 下载次数: 430)

2016-12-14 14:43 上传

G、测试ESP8266模块,使用AT命令,有返回,表示模块正常;

005.jpg (0 Bytes, 下载次数: 461)

2016-12-14 14:45 上传

2、移植例程

A、ESP8266.h中修改使用的路由器的SSID和PASSOWRD;

006.jpg (0 Bytes, 下载次数: 440)

2016-12-14 14:48 上传

例如:

#define CWJAP       "AT+CWJAP=\"ABCDEF\",\"123456789\"\r\n"

B、在EdpDemo.c修改APIKey和设备ID;

007.jpg (0 Bytes, 下载次数: 460)

2016-12-14 14:50 上传

如果大家还没有建立自己的edp设备,请查阅OneNET相关资料,在平台建立自己的设备;

C、在stm32f10x.h文件中,修改系统晶振频率(此步非常重要,因为麒麟是12M晶振,而GoKit是8M)

008.jpg (0 Bytes, 下载次数: 455)

2016-12-14 14:52 上传

将12M的晶振频率改为8M;

D、对EdpDemo.c程序的修改,由于硬件不同,底层驱动需要修改,在这里我们只是演示一下,因此没有去做相关的驱动,用随机函数获取数据;

修改如下:

void Save_AllSensorsToOneNet(void)

{

EdpPacket* send_pkg;

uint16_t f;

uint16_t hum[1], temperature[1];

int16_t adxl[3], hmc5883l[3];

/*读取温湿度*/

memset(data_string_dst, 0, sizeof(data_string_dst));

//SHT20_read_user_reg();

//mDelay(200);//延迟,设备没有那么快的响应时间,否则总线处理忙等

//SHT2x_MeasureHM(SHT20_Measurement_T_HM, temperature);

//mDelay(1000);

//SHT2x_MeasureHM(SHT20_Measurement_RH_HM, hum);

//mDelay(400);

//f = (uint16_t)Read_BH1750();

f = rand();                           //测试,生成随机数

temperature[0] = (char)rand();        //测试,生成随机数

hum[0] = (char)rand();                //测试,生成随机数

snprintf((char *)data_string_t, sizeof(data_string_t), ",;BH1750FVI,%d;SHT20_temperature,%d;SHT20_hum,%d;", (uint16_t)f, (uint16_t)temperature[0], (uint16_t)hum[0]);

//读取BH1750FVI

printf("%s\n", data_string_t);

mDelay(400);

//读取ADXL345

//ADXL345_GETXYZ(adxl);

adxl[0] = (char)rand();               //测试,生成随机数

adxl[1] = (char)rand();               //测试,生成随机数

adxl[2] = (char)rand();               //测试,生成随机数

snprintf((char *)data_string_adxl, sizeof(data_string_adxl), "ADXL345_x,0x%x;ADXL345_y,0x%0x;ADXL345_z,0x%x;", (uint16_t)adxl[0], (uint16_t)adxl[1], (uint16_t)adxl[2]);

printf("%s\n", data_string_adxl);

mDelay(400);

//读取HMC588CL

//HMC5883L_GetXYZ(hmc5883l);

hmc5883l[0] = (char)rand();           //测试,生成随机数

hmc5883l[1] = (char)rand();           //测试,生成随机数

hmc5883l[2] = (char)rand();           //测试,生成随机数

snprintf((char *)data_string_hmc5883l, sizeof(data_string_hmc5883l), "HMC5883L_x,0x%x;HMC5883L_y,0x%x;HMC5883L_z,0x%x", (uint16_t)hmc5883l[0], (uint16_t)hmc5883l[2], (uint16_t)hmc5883l[1]);

printf("%s\n", data_string_hmc5883l);

strcat((char *)data_string_dst, (const char *)data_string_t);

strcat((char *)data_string_dst, (const char *)data_string_adxl);

strcat((char *)data_string_dst, (const char *)data_string_hmc5883l);

printf("%s\n", data_string_dst);

send_pkg = PacketSavedataSimpleString(NULL, (const int8_t*)data_string_dst);

DoSend(0, (const uint8_t *)send_pkg->_data, send_pkg->_write_pos);

DeleteBuffer(&send_pkg);

mDelay(1000);

}

保存工程。

3、编译及烧写测试

A、改CPU型号为STM32F103C8;

009.jpg (0 Bytes, 下载次数: 453)

2016-12-14 15:00 上传

B、STM32F10X_HD改成STM32F10X_MD;

010.jpg (0 Bytes, 下载次数: 452)

2016-12-14 15:02 上传

C、设置DEBUG,我这里使用的ST-LINK V2,用的SW接口,四线调试;

011.jpg (0 Bytes, 下载次数: 454)

2016-12-14 15:03 上传

012.jpg (0 Bytes, 下载次数: 468)

2016-12-14 15:06 上传

D、编译并使用仿真按钮下载程序到CPU,并运行

014.jpg (0 Bytes, 下载次数: 481)

2016-12-14 15:11 上传

013.jpg (0 Bytes, 下载次数: 434)

2016-12-14 15:08 上传

E、通过miniUSB进行运行监测

启动信息

015.jpg (0 Bytes, 下载次数: 431)

2016-12-14 15:13 上传

连接到OneNET,并有数据发送到平台

016.jpg (0 Bytes, 下载次数: 437)

2016-12-14 15:13 上传

F、在平台查看上传的数据,设备已经在线

017.jpg (0 Bytes, 下载次数: 452)

2016-12-14 15:23 上传

收到的数据

018.jpg (0 Bytes, 下载次数: 436)

2016-12-14 15:24 上传

G、应用

http://open.iot.10086.cn/appview ... 29d66a02e8bfd107bbd

019.jpg (0 Bytes, 下载次数: 445)

2016-12-14 15:28 上传

4、移植好的程序

2016-12-14 15:30 上传

点击文件名下载附件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值