標(biāo)題: OneNET麒麟座 迷你版程序 [打印本頁]

作者: aaaaaa。    時(shí)間: 2019-7-21 10:36
標(biāo)題: OneNET麒麟座 迷你版程序
//單片機(jī)頭文件
#include "stm32f10x.h"

//網(wǎng)絡(luò)協(xié)議層
#include "onenet.h"

//網(wǎng)絡(luò)設(shè)備
#include "esp8266.h"

//硬件驅(qū)動(dòng)
#include "delay.h"
#include "usart.h"
#include "i2c.h"
#include "sht20.h"

//C庫
#include <string.h>
#include <stdlib.h>


extern unsigned char data_bytes;

extern unsigned char m_cmd, rev_cmd_cnt;

extern unsigned char r_addr, r_len;


/*
************************************************************
*        函數(shù)名稱:        Hardware_Init
*
*        函數(shù)功能:        硬件初始化
*
*        入口參數(shù):        無
*
*        返回參數(shù):        無
*
*        說明:                初始化單片機(jī)功能以及外接設(shè)備
************************************************************
*/
void Hardware_Init(void)
{
        
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //中斷控制器分組設(shè)置

        Delay_Init();                                                                        //systick初始化
        
        Usart1_Init(115200);                                                        //串口1,打印信息用
        
        Usart2_Init(115200);                                                        //串口2,驅(qū)動(dòng)ESP8266用
        
        IIC_Init();                                                                                //IIC初始化
        
        UsartPrintf(USART_DEBUG, " Hardware init OK\r\n");
        
}

/*
************************************************************
*        函數(shù)名稱:        main
*
*        函數(shù)功能:        
*
*        入口參數(shù):        無
*
*        返回參數(shù):        0
*
*        說明:               
************************************************************
*/
int main(void)
{
        
        unsigned char *dataPtr = NULL;
        
        Hardware_Init();                                //初始化外圍硬件
        
        ESP8266_Init();                                        //初始化ESP8266
        
        while(OneNet_DevLink())                        //接入OneNET
                DelayXms(500);
        
        while(1)
        {
               
                dataPtr = ESP8266_GetIPD(0);
                if(dataPtr != NULL)
                        OneNet_RevPro(dataPtr, data_bytes);
               
                if(rev_cmd_cnt > 0)                                                                                        //如果收到平臺(tái)的查詢命令
                {
                        --rev_cmd_cnt;
                        
                        //根據(jù)命令碼、寄存器地址、寄存器地址長度吧要上傳的值放入鏈表里
                        //本例程命令碼為3代表查詢傳感器數(shù)據(jù),為4代表控制相關(guān)外設(shè)
                        switch(m_cmd)
                        {
                                case 3:                                                                                                //控制外設(shè)
                                {
                                        unsigned short *value_table = malloc(r_len << 1);
                                        _Bool flag = 1;
                                       
                                        SHT20_GetValue();
                                       
                                        if(value_table != NULL)
                                        {
                                                switch(r_addr)
                                                {
                                                        //010300010001D5CA
                                                        case 1: value_table[0] = (unsigned short)(sht20_info.tempreture * 100); break;
                                                        
                                                        //01030002000125CA
                                                        case 2: value_table[0] = (unsigned short)(sht20_info.humidity * 100); break;
                                                        
                                                        default: flag = 0; break;
                                                }
                                                
                                                if(flag)
                                                        OneNet_SendData(value_table, r_len);
                                                
                                                free(value_table);
                                        }
                                }
                                break;
                                
                                default:
                                break;
                        }
                }
               
                DelayXms(10);
        
        }

}


360截圖20190721103105646.jpg (33.88 KB, 下載次數(shù): 80)

360截圖20190721103105646.jpg

360截圖20190721103125078.jpg (77.66 KB, 下載次數(shù): 92)

360截圖20190721103125078.jpg

360截圖20190721103140615.jpg (59.01 KB, 下載次數(shù): 76)

360截圖20190721103140615.jpg

360截圖20190721103158759.jpg (88.02 KB, 下載次數(shù): 91)

360截圖20190721103158759.jpg

1.kyLinMini-V1.x-基礎(chǔ)學(xué)習(xí)例程.zip

8.47 MB, 下載次數(shù): 17, 下載積分: 黑幣 -5

2.kyLinMini-V1.x-OneNET-裸機(jī)-基礎(chǔ)例程.zip

11.03 MB, 下載次數(shù): 17, 下載積分: 黑幣 -5

3.kyLinMini-V1.x-OneNET-裸機(jī)-進(jìn)階例程.zip

4.97 MB, 下載次數(shù): 11, 下載積分: 黑幣 -5

4.kyLinMini-V1.x-OneNET-RTOS.zip

9.59 MB, 下載次數(shù): 9, 下載積分: 黑幣 -5






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1