1. 程式人生 > >ONENET讀取與控制麒麟座開發上LED狀態

ONENET讀取與控制麒麟座開發上LED狀態

speed gre gui 名稱 code pin 綠色 文件 bubuko

硬件

麒麟座MINI開發板V1.4

嵌入式軟件

OneNET_Demo_ESP8266_EDP_Led

工程修改內容

  1. led.c文件修改

    • 函數LED_Init,mini開發板LED所在GPIO為PB6、PB7、PB8、PB9

    • 函數LED_GetValue,mini開發板LED狀態與IO口狀態相反

/**
* @brief LED指示燈初始化函數
**/
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//PB9--對應開發板紅色指示燈;PB8--對應開發板綠色指示燈;
//PB7--對應開發板黃色指示燈;PB6---對應開發板藍色指示燈
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
?
/**
* @brief 獲取LED的當前狀態值
**/
void LED_GetValue(void)
{
if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_9))
{
red_value=0;
}
else
{
red_value=1;
}
if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_6))
{
blue_value=0;
}
else
{
blue_value=1;
}
if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_8))
{
green_value=0;
}
else
{
green_value=1;
}
if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_7))
{
yellow_value=0;
}
else
{
yellow_value=1;
}
}
?

  1. led.h文件修改

#define  LED_RED_OFF       GPIO_SetBits(GPIOB,GPIO_Pin_9)
#define LED_GREEN_OFF GPIO_SetBits(GPIOB,GPIO_Pin_8)
#define LED_YELLOW_OFF GPIO_SetBits(GPIOB,GPIO_Pin_7)
#define LED_BLUE_OFF GPIO_SetBits(GPIOB,GPIO_Pin_6)
?
#define LED_RED_ON GPIO_ResetBits(GPIOB,GPIO_Pin_9)
#define LED_GREEN_ON GPIO_ResetBits(GPIOB,GPIO_Pin_8)
#define LED_YELLOW_ON GPIO_ResetBits(GPIOB,GPIO_Pin_7)
#define LED_BLUE_ON GPIO_ResetBits(GPIOB,GPIO_Pin_6)
  1. ESP8266.h文件修改

#define   DEVICEID   "xxxxxx"
#define APIKEY "xxxxxxxxxxxxxxxxxx"
#define CWJAP "AT+CWJAP=\"xxxxxxxx\",\"xxxxxxx\"\r\n"

前兩個宏定義OneNET平臺相關,最後一個WIFI的SSID名稱以及密碼,這三個宏根據自己的需要修改

OneNET平臺操作

  1. 設置GPIO狀態

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

上述命令實現點亮blue led

  1. 讀取GPIO狀態

技術分享圖片

技術分享圖片

目前顯示BLUE點亮,其他三個LED熄滅

參考

1. https://github.com/cm-heclouds/OneNET_demo_code_kylin/tree/master/OneNET_Demo_ESP8266_EDP_Led

2. https://github.com/cm-heclouds/OneNET_demo_code_kylin/blob/master/OneNET_Demo_User_Guide.pdf

ONENET讀取與控制麒麟座開發上LED狀態