精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于小熊派開發板+華為云IoT設計的云端綠化管理系統

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-05-27 11:10 ? 次閱讀

1. 設計需求、硬件環境介紹

1.1 項目背景

綠化管理系統在現實生活、生產中的應用十分廣泛,它是集環境感知、規劃決策、自動管理等功能于一體的綜合系統。目前,在城市道路兩旁的區域綠化主要為花、草、樹、灌木等,其中較多種植物對水的敏感性較高,如果供水不足夠或過多,會造成枯萎,甚至死亡。而且采用人工的方式進行管理,不能夠較好的了解種植區域的數據,而造成水資源極大地浪費,為響應國家“十四五”規劃提出的生態文明建設實現新進步,能源資源配置更加合理、利用效率大幅提高,生態環境持續改善;因此發展先進的智能灌溉技術對綠化管理至關重要。

傳統的手動綠化管理控制多采用人工方式通過觀察地表潮濕度來進行灌溉,這樣不僅造成水資源浪費和人力資源的浪費,而且灌溉不精確。本文就利用華為云IOT物聯網平臺設計云端綠化管理系統,設備平臺采用小熊開發板-CPU意法半導體STM32L431芯片,這是意法半導體推出的低功耗芯片;配合外部的一些專業傳感器,能夠獲取空氣中的溫濕度數據,光照度數據等,根據種植區的空氣溫濕度數據,判斷是否進行灌溉。因此,研究一種具有檢測到綠化情況以及價格低廉、應用范圍廣、性能可靠的綠化管理系統對綠化水平的提高以及節能減排都具有重要的意義。

1.2 實現功能

本項目是利用意法半導體的STM32L431+ESP8266 WIFI ,配合華為云物聯網平臺服務器,組建一個微小型的綠化管理系統,結合外部傳感器采集的數據,并利用這些數據判斷是否進行灌溉。

考慮到以學習為目,當前項目采用了ESP8266無線WIFI網卡作為聯網設備,ESP8266價錢便宜,支持串口編程,有標準的一套AT資料,資料多,作為學習而言,非常適合。可以通過對ESP8266的編程實驗,了解TCP、MQTT網絡編程相關知識點。

當前項目主要分為六個功能模塊,分別是:基礎系統模塊、溫度采集模塊、濕度采集模塊、光照采集模塊、無線傳感器網絡模塊、OLED顯示屏模塊。 (1)基礎系統模塊:進行各個數據的接收與轉發,控制掃水作業是否進行,澆水作業是采用板載的電機模擬 (2)溫度采集模塊:采集監測區域的溫度數據,傳輸到微控制器 (3)濕度采集模塊:采集監測區域的濕度數據,傳輸到微控制器 (4)光照采集模塊:采集監測區域的光照數據,傳輸到微控制器 (5)無線傳感器網絡模塊:數據上傳至云平臺,數據下發交互等 (6)LCD顯示屏模塊:實時顯示所監測到的各項數據

小熊開發板的擴展板上自帶了光敏傳感器、溫濕度傳感器、直流電機模塊,可以很方便的實現上面的這些功能需求。

本項目的源代碼沒有采用官方的案例工程,官方自大工程非常龐大,為了兼容各種設備平臺,代碼較多,不適合初學者理解代碼,本文工程代碼全部針對本項目編寫,沒有多余代碼,采用寄存器風格編寫,代碼簡潔,非常適合初學者學習MQTT協議,學習各種傳感器的通信協議等等;連接華為云的MQTT協議也是按照MQTT的官方中文手冊自行編寫的,不依賴任何外部SDK,不依賴ESP8266設備,只要能聯網的設備都可以連接華為云IOT,非常適合移植到其他單片機平臺;不管是采用51,STM32F1系列,都可以直接參考代碼移植。

1.3 設備實物圖

小熊開發板的設備相關實物圖如下:

be9b539a25bc442ba398c57688a5d4db~tplv-k3u1fbpfcp-zoom-1.imagebb594f5b1b8a4e7cb161c1458553616a~tplv-k3u1fbpfcp-zoom-1.image25b07b2f6c934c26b7b4c6a5abcc06b9~tplv-k3u1fbpfcp-zoom-1.image986583b209434b3da7aabf8463d4b036~tplv-k3u1fbpfcp-zoom-1.image

2. 創建IOT服務器端產品

2.1 創建產品

直接打開物聯網產品頁面: https://www.huaweicloud.com/product/iothub.html

image-20211230104413905

打開產品頁面,選擇右上角創建產品。

image-20211230104528780

根據自己情況填寫信息

image-20211230104628676

創建成功后打開產品詳情頁面,拉到最下面,點擊創建自定義模型文件。

image-20211230104743669

這里創建模型文件主要就是為了MQTT客戶端能夠正確的上傳傳感器數據上來,每個傳感器設置一個屬性,這個屬性就是表示了傳感器的數據值類型。

比如: 先添加一個電機,這個電機就是澆水電機,能上報開關狀態,云端也能下發命令控制電機,所以需要添加屬性和下發的命令。

image-20211230104855227

添加屬性:

image-20211230105133158

添加命令: 因為電機需要云端遠程控制。

image-20211230105322105

接下來就創建溫度、濕度、光照度傳感器的屬性,這些傳感器只是向云端上傳數據,不需要下發指令控制,所以只創建屬性就行了。

image-20211230105541888image-20211230105609401image-20211230105640730

創建完畢效果,一共有4個屬性,電機、溫度、濕度、光強度:

image-20211230105707542

2.2 創建設備

選擇設備頁面,注冊設備。

image-20211230105936066

創建后保持設備密匙等信息,接下來登錄服務器時,生成MQTT賬號密匙需要用到這些參數

image-20211230110048677

當前創建的設備信息如下:

{

"device_id": "61cd1d97078a93029b84e7b6_1126626497",

"secret": "1126626497"

}

2.3 生成MQTT登錄賬號信息

官微提供的在線小工具: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

按照提示填入數據,生成,非常方便。

image-20211230110439211

當前生成的信息如下:

ClientId 61cd1d97078a93029b84e7b6_1126626497_0_0_2021123003

Username 61cd1d97078a93029b84e7b6_1126626497

Password b219f3a0099fa0284a2671a5c699b67a7cf6d5f7355d9ee8190011f3b64f71b5

3. 使用MQTT客戶端模擬測試

為了驗證服務器配置是否OK,先使用MQTT客戶端軟件進行連接測試。

3.1 華為云IOT服務器地址與端口

image-20211230110724920

端口: 1883

域名: a161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com

IP地址: 121.36.42.100

3.2 訂閱主題

在產品頁面,可以看到主題管理頁面,能看到當前設備可以訂閱的主題有哪些。

image-20211230110922857

一般訂閱下發的數據:

格式: $oc/devices/{device_id}/sys/messages/down

//訂閱主題: 平臺下發消息給設備

$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/messages/down

3.3 上報主題數據

官方文檔介紹: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html

image-20211230111152241

服務ID,屬性ID在產品頁面查看,2.1小節創建產品里就講了這個屬性的作用。

image-20211230111748205

每次可以單個屬性上報,也可以一起上報。

格式: $oc/devices/{device_id}/sys/properties/report

//設備上報主題請求

$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/properties/report

//上報的數據格式如下

//電機開狀態反饋

{"services": [{"service_id": "motor","properties":{"motor":1}}]}

//電機關狀態反饋

{"services": [{"service_id": "motor","properties":{"motor":0}}]}

//溫度上報

{"services": [{"service_id": "motor","properties":{"SHT30_H":14}}]}

//濕度上報

{"services": [{"service_id": "motor","properties":{"SHT30_L":70}}]}

//光照強度上報

{"services": [{"service_id": "motor","properties":{"BH1750":80}}]}

//也可以一起上報

{"services": [{"service_id": "motor","properties":{"motor":1}},{"service_id": "motor","properties":{"SHT30_H":15}},{"service_id": "motor","properties":{"SHT30_L":70}},{"service_id": "motor","properties":{"BH1750":80}}]}

3.4 登錄服務器

按照軟件提示,填入相關數據即可。

如需要也需要使用和我一樣的同款軟件,打開百度搜索MQTT客戶端_v2.4(協議3.1.1).exe 即可找到下載地址。

image-20211230112304696

發送數據后查看云端,已經登錄成功,數據已經上傳成功。

image-20211230112059007

3.5 下發命令

電機設備支持讀寫,支持下發命令,在設備頁面測試。

image-20211230112844980image-20211230112932187

點擊確定之后,參看MQTT客戶端軟件,已經收到了下發的數據。

image-20211230113038784

len:174,Data:l$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/commands/request_id=390ce15d-6e69-4021-b83a-5e953eea874c{"paras":{"motor":1},"service_id":"motor","command_name":"motor"}

4. 設備端上華為云IOT

工程代碼:

image-20211230114207096image-20211230114357552image-20211230114431687

工程代碼較多,這里就貼出main.c全部代碼:

#include "main.h"
#include "stm32l4xx_hal.h"
#include "i2c.h"
#include "usart.h"
#include "gpio.h"
#include "E53_IA1.h"
#include "lcd.h"
#include "spi.h"
#include "mqtt.h"
#include "esp8266.h"


/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

void SystemClock_Config(void);


#define ESP8266_WIFI_AP_SSID  "CMCC-Cqvn"   //將要連接的路由器名稱 --不要出現中文、空格等特殊字符
#define ESP8266_AP_PASSWORD "99pu58cb"     //將要連接的路由器密碼


//華為云IOT物聯網服務器的設備信息
#define MQTT_ClientID "61cd1d97078a93029b84e7b6_1126626497_0_0_2021123003"
#define MQTT_UserName "61cd1d97078a93029b84e7b6_1126626497"
#define MQTT_PassWord "b219f3a0099fa0284a2671a5c699b67a7cf6d5f7355d9ee8190011f3b64f71b5"
 
//訂閱與發布的主題
#define SET_TOPIC  "$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/messages/down"  //訂閱
#define POST_TOPIC "$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/properties/report"  //發布


//保存溫濕度、光照強度
E53_IA1_Data_TypeDef E53_IA1_Data;

//顯示文本
char lcd_text_str[50];


UART_HandleTypeDef at_usart;

//低功耗串口初始化
int32_t at_usart_init(void)
{
    at_usart.Instance = LPUART1;
    at_usart.Init.BaudRate = 115200;

    at_usart.Init.WordLength = UART_WORDLENGTH_8B;
    at_usart.Init.StopBits = UART_STOPBITS_1;
    at_usart.Init.Parity = UART_PARITY_NONE;
    at_usart.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    at_usart.Init.Mode = UART_MODE_RX | UART_MODE_TX;
    
    if(HAL_UART_Init(&at_usart) != HAL_OK)
    {
        _Error_Handler(__FILE__, __LINE__);
    }
   // __HAL_UART_CLEAR_FLAG(usart, UART_FLAG_TC);
    __HAL_UART_ENABLE_IT(&at_usart, UART_IT_IDLE);
    __HAL_UART_ENABLE_IT(&at_usart, UART_IT_RXNE);
    HAL_NVIC_EnableIRQ(LPUART1_IRQn);					//使能USART1中斷通道
    HAL_NVIC_SetPriority(LPUART1_IRQn, 3, 3);				//搶占優先級3,子優先級3
    return 0;
}

unsigned char ESP8266_RecvBuf[MAX_RECV_CNT];
unsigned int ESP8266_Recv_cnt=0;
unsigned int ESP8266_Recv_flag=0;
void LPUART1_IRQHandler()
{
    //接收到數據
    if(__HAL_UART_GET_FLAG(&at_usart, UART_FLAG_RXNE) != RESET)
    {
        if(ESP8266_Recv_cntRDR & 0x00FF);
        } 
        else
        {
             ESP8266_Recv_flag=1;
        }
    }  
    else if (__HAL_UART_GET_FLAG(&at_usart, UART_FLAG_IDLE) != RESET)
    {
        __HAL_UART_CLEAR_IDLEFLAG(&at_usart);
        
         ESP8266_Recv_flag=1;
    }
}


void AT_SendData(unsigned char *p,unsigned int len)
{
    int i=0;
    for(i=0;iISR & 0X40) == 0); //循環發送,直到發送完畢
        LPUART1->TDR = p[i];
    }
}


char mqtt_message[200];
int main(void)
{
    int i=0;
    int cnt=0;
    int motor_state=0;
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_I2C1_Init();
    MX_SPI2_Init();
    MX_USART1_UART_Init();
    at_usart_init();
    
    //初始化硬件
    Init_E53_IA1();

    LCD_Init();					
    LCD_Clear(BLACK);//清屏為黑色
    LCD_ShowString(0, 00, 240, 32, 32, "Init ESP8266");//顯示字符串,字體大小32*32

    if(ESP8266_Init())
   {
      printf("ESP8266硬件檢測錯誤.\n");
      LCD_Clear(BLACK);//清屏為黑色
      LCD_ShowString(0, 00, 240, 32, 32, "ESP8266 ERROR");//顯示字符串,字體大小32*32
   }
   else
   {
       LCD_Clear(BLACK);//清屏為黑色
       LCD_ShowString(0, 00, 240, 32, 32, "ESP8266 OK");//顯示字符串,字體大小32*32
       printf("準備連接到指定的服務器.\n");
      //非加密端口
      printf("WIFI:%d\r\n",ESP8266_STA_TCP_Client_Mode(ESP8266_WIFI_AP_SSID,ESP8266_AP_PASSWORD,"106.55.124.154",1883,1));
   }
   
    //2. MQTT協議初始化	
    MQTT_Init(); 
   
    //3. 連接華為云IOT服務器        
    while(MQTT_Connect(MQTT_ClientID,MQTT_UserName,MQTT_PassWord))
    {
        printf("服務器連接失敗,正在重試...\n");
        HAL_Delay(500);
    }
    printf("服務器連接成功.\n");
    
    //3. 訂閱主題
    if(MQTT_SubscribeTopic(SET_TOPIC,0,1))
    {
        printf("主題訂閱失敗.\n");
    }
    else
    {
        printf("主題訂閱成功.\n");
    }        
    
      while (1)
      {
            if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)==GPIO_PIN_RESET)//查詢按鍵KEY1低電平
            {
                HAL_Delay(10);//消抖
                if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)==GPIO_PIN_RESET)//查詢按鍵KEY1低電平
                {
                    HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);//亮
                    
                    //補光燈亮
                    HAL_GPIO_WritePin(IA1_Light_GPIO_Port, IA1_Light_Pin, GPIO_PIN_SET);
                    
                    //電機轉
                    HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_SET);
                    
                    motor_state=1;
                }
            }
                
            if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin)==GPIO_PIN_RESET)//查詢按鍵KEY2低電平
            {
                HAL_Delay(10);//消抖
                if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin)==GPIO_PIN_RESET)//查詢按鍵KEY2低電平
                {
                    HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);//滅
                    
                     //補光燈滅
                    HAL_GPIO_WritePin(IA1_Light_GPIO_Port, IA1_Light_Pin, GPIO_PIN_RESET);
                    
                     //電機停
                    HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_RESET);
                    
                    motor_state=0;
                }
            }
     
         cnt++;
         HAL_Delay(10);   
         
         if(cnt>=100)
         {
            cnt=0;
            E53_IA1_Read_Data();
            printf("光照強度:%d %%\r\n", (int)E53_IA1_Data.Lux);
            printf("濕度:%d %%\r\n",(int)E53_IA1_Data.Humidity);
            printf("溫度:%d ℃\r\n", (int)E53_IA1_Data.Temperature);


            sprintf(lcd_text_str,"L: %d %%",(int)E53_IA1_Data.Lux);
            LCD_ShowString(40, 50+10+32*1, 240, 32, 32,lcd_text_str);


            sprintf(lcd_text_str,"H: %d %%",(int)E53_IA1_Data.Humidity);
            LCD_ShowString(40, 50+10+32*2, 240, 32, 32,lcd_text_str);
             

            sprintf(lcd_text_str,"T: %d C",(int)E53_IA1_Data.Temperature);
            LCD_ShowString(40, 50+10+32*3, 240, 32, 32,lcd_text_str);

            //切換引腳的狀態
            HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
             
               //上傳數據
            sprintf(mqtt_message,"{"services": [{"service_id": "motor","properties":{"motor":%d}},"
            "{"service_id": "motor","properties":{"SHT30_H":%d}},{"service_id": "motor","properties":"
            "{"SHT30_L":%d}},{"service_id": "motor","properties":{"BH1750":%d}}]}",
            motor_state,(int)E53_IA1_Data.Humidity,(int)E53_IA1_Data.Temperature,(int)E53_IA1_Data.Lux);
            
            MQTT_PublishData(POST_TOPIC,mqtt_message,0);
            
            //根據濕度自動灌溉
            if((int)E53_IA1_Data.Humidity<50)  //小于50自動灌溉
            {
                 printf("自動灌溉....\n");
                 motor_state=1; //電機狀態更新
                 //電機轉
                 HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_SET);
            }  
         }

          //接收到數據
          if(ESP8266_Recv_flag)
          {
               //如果是下發了屬性,判斷是開鎖還是關鎖
                if(ESP8266_Recv_cnt>5)
                {
                    ESP8266_RecvBuf[ESP8266_Recv_cnt]='\0';
             
                    //使用字符串查找函數
                    if(strstr((char*)&ESP8266_RecvBuf[5],""machine":1"))
                    {
                         motor_state=1; //電機狀態更新
                         //電機轉
                         HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_SET);  
                         printf("開啟電機...\n");
                    }
                    else if(strstr((char*)&ESP8266_RecvBuf[5],""machine":0"))
                    {
                        //電機停
                        HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_RESET);
                    
                        motor_state=0;
                        printf("關閉電機...\n");
                    }
                    
                    for(i=0;i

審核編輯:湯梓紅
;i++)printf("%c",esp8266_recvbuf[i]);>;i++)>)>
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 意法半導體
    +關注

    關注

    31

    文章

    3106

    瀏覽量

    108521
  • 開發板
    +關注

    關注

    25

    文章

    4943

    瀏覽量

    97191
  • 管理系統
    +關注

    關注

    1

    文章

    2417

    瀏覽量

    35824
  • 華為云
    +關注

    關注

    3

    文章

    2423

    瀏覽量

    17311
收藏 人收藏

    評論

    相關推薦

    基于STM32L4小熊派設計的云端綠化管理系統(華為IOT)

    本項目利用STM32L4小熊派設計基于華為IoT物聯網平臺的云端綠化
    的頭像 發表于 07-12 09:39 ?1977次閱讀
    基于STM32L4<b class='flag-5'>小熊派</b>設計的<b class='flag-5'>云端</b><b class='flag-5'>綠化</b><b class='flag-5'>管理</b><b class='flag-5'>系統</b>(<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>IOT</b>)

    華為聯合合作伙伴發布一站式物聯網IoT開發工具小熊派BearPi,解決行業物聯網產品開發痛點

    的人機交互接口。??基于華為開發IoT Studio,小熊派IoT開發工具可實現根據
    發表于 09-21 10:47

    小熊派IOT開發板試用連載】基于小熊派的智控路燈

    LiteOS物聯網操作平臺,實現對交通路燈的區域集中化管理,體現小熊派開發板的“端管”強大功能。項目計劃:①、根據官方提供的資料包,結合收到的開發
    發表于 03-31 09:42

    小熊派IOT開發板試用連載】基于小熊派IOT開發板車載定位系統開發

    項目名稱:基于小熊派IOT開發板車載定位系統開發試用計劃:小熊派IOT
    發表于 04-01 15:19

    小熊派IoT開發板試用連載】--揭蓋亮相

    ` 本帖最后由 yinwuqing 于 2020-4-13 18:28 編輯 昨天下午終于收到了期待已久的小熊派IoT開發板,這款開發板的資料其實早在前幾天就準備好了,現將文檔信息
    發表于 04-11 16:14

    小熊派IoT開發板試用連載】--環境搭建

    的MDK v5兩種。首先需要安裝好ST-Link驅動,安裝文件在“小熊派開發板資料1軟件資料”目錄下的“STLINK驅動”,如果之前有成功安裝過,將小熊派與電腦的USB相連接,則會自動識別到。這里將設備
    發表于 04-13 18:25

    小熊派IoT開發板開發板試用連載一一硬件篇

    ` 本帖最后由 HXM1539 于 2020-4-14 11:21 編輯 小熊派IoT開發板開發板試用連載一一硬件篇 第一篇:小熊排物聯
    發表于 04-13 22:55

    小熊派IoT開發板開發板試用連載】+開箱試驗

    ` 本帖最后由 cxmin303 于 2020-4-22 21:45 編輯 收到小熊派的快遞有一段時間了,當初想要試用就是看上了可以鏈接華為。拿到快遞后,第一時間就拆開看了,開發板
    發表于 04-21 23:21

    小熊派IOT開發板試用連載】5、華為IOT Booster應用開發

    這時的開發是基于在華為已經創建建立項目的基礎上,所作得簡易管理軟件,可以實現遠程設置參數,遠程控制,小熊
    發表于 04-29 10:28

    小熊派IoT開發板開發板試用連載】--flash讀寫操作

    IoT平臺的聯調。這里先介紹一下體驗“小熊派開發板資料\04 視頻教程\00 單片機基礎教程”目錄下的“單片機內部flash讀寫實驗”。首先還是一樣的套路,啟動STM32CubeMX軟件,配置好LED
    發表于 05-02 19:20

    什么是小熊派開發板小熊派開發板有哪些主要優勢?

    什么是小熊派開發板小熊派開發板有哪些主要優勢?小熊派開發板的硬件部分是由哪些部分組成的?
    發表于 07-06 07:11

    開發實踐丨用小熊派STM32開發板模擬自動售貨機 精選資料推薦

    摘要:本文內容是講述用小熊派開發板模擬自動售貨機,基于論壇提供的工程代碼,通過云端開發和設備終端開發,實現終端數據在的
    發表于 07-13 07:13

    開發實踐丨用小熊派STM32開發板模擬自動售貨機 精選資料分享

    摘要:本文內容是講述用小熊派開發板模擬自動售貨機,基于論壇提供的工程代碼,通過云端開發和設備終端開發,實現終端數據在的
    發表于 07-13 08:39

    淺析小熊派IOT開發板的組成部分

    小熊派IOT開發板是什么?小熊派IOT開發板的硬件是由哪些部分組成的?
    發表于 10-28 06:18

    小熊派開發板移植RT-FOTA

    小熊派開發板移植RT-FOTA
    發表于 12-08 15:06 ?4次下載
    <b class='flag-5'>小熊派</b><b class='flag-5'>開發板</b>移植RT-FOTA