机智云代码移植_一步一步移植麒麟座例程到机智云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 上傳
點擊文件名下載附件
總結
以上是生活随笔為你收集整理的机智云代码移植_一步一步移植麒麟座例程到机智云GoKit V2.1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea怎么提交到dev分支_IDEA设
- 下一篇: python pandas 数据透视表_