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

硬件

麒麟座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

轉載于:https://www.cnblogs.com/tony2ty/p/9463014.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249737.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249737.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249737.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

洛谷 - P1217 - 回文質數 - 枚舉

https://www.luogu.org/problemnew/show/P1217 考慮暴力生成所有的回文數然后再判斷是不是質數。注意個位的選擇實際上只有4種。所以是 $4*10^3*10^34*10^6$ &#xff0c;完全充裕的復雜度。 #include<bits/stdc.h> using namespace std; #define ll long longint a,b; v…

git commit之后,想撤銷commit

寫完代碼后&#xff0c;我們一般這樣git add . //添加所有文件git commit -m "本功能全部完成"執行完commit后&#xff0c;想撤回commit&#xff0c;怎么辦&#xff1f;這樣涼拌&#xff1a;git reset --soft HEAD^這樣就成功的撤銷了你的commit注意&#xff0c;僅僅…

引用數據類型

1.Scanner類 Scanner類是引用數據類型的一種&#xff0c;我們可以使用該類來完成用戶鍵盤錄入&#xff0c;獲取到錄入的數據。 引用數據類型的使用&#xff1a; 與定義基本數據類型變量不同&#xff0c;引用數據類型的變量定義及賦值有一個相對固定的步驟或格式。 數據類型 變…

phpmyadmin登錄遠程mysql數據庫

之前只用phpmyadmin登錄本地的mysql&#xff0c;管理另一個遠程數據庫的時候發現&#xff0c;單純用命令行處理字符串、換行符實在是不好使&#xff0c;所以配置了遠程登錄mysql&#xff0c;很簡單的問題結果沒有搜到合適的方法&#xff0c;所以記錄下我的配置方式。 phpmyadmi…

activemq的使用場景

一、消息隊列概述 消息隊列中間件是分布式系統中重要的組件&#xff0c;主要解決應用耦合&#xff0c;異步消息&#xff0c;流量削鋒等問題。實現高性能&#xff0c;高可用&#xff0c;可伸縮和最終一致性架構。是大型分布式系統不可缺少的中間件。 目前在生產環境&#xff0c…

復習JavaScript隨手記

數據類型 基本類型 stringnumberbooleanundefinednumber類型,包含整數浮點數 NaN和自己都不相等,涉及NaN的計算結果都是NaN isNaN()函數用于判斷一個數是不是NaN 引用類型 object類型 function類型 繼承自object object類型定義了prototype屬性 可以通過它動態給對象綁定方法和…

TP5在前端時間戳轉換為時間格式

value"{:date(Y-m-d H:i:s,$data[add_date])}" 例如&#xff1a; <td>{:date(Y-m-d H:i:s,$d[create_time])}</td> 轉載于:https://www.cnblogs.com/shark1100913/p/9468077.html

Java(發布/訂閱模式)

1、概述 觀察者模式又稱為發布/訂閱(Publish/Subscribe)模式 觀察者設計模式涉及到兩種角色&#xff1a;主題&#xff08;Subject&#xff09;和觀察者&#xff08;Observer&#xff09; &#xff08;1&#xff09;Subject模塊 Subjec模塊有3個主要操作 addObserver()&#…

VUE $SET源碼

轉載于:https://www.cnblogs.com/smzd/p/11634255.html

JS 日期格式化

1、將中國標準時間格式化為&#xff08;2017-06-06 15:05:04&#xff09; function formatDateTime(theDate) { var _hour theDate.getHours(); var _minute theDate.getMinutes(); var _second theDate.getSeconds(); var _year theDate.getFullYear() var _month theDat…

canvas 入門

<canvas>是HTML5新增的&#xff0c;是可以使用腳本&#xff08;JavaScript&#xff09;在其中繪制圖像的HTML元素。 canvas是由HTML代碼配合高度和寬度屬性而定義出的可繪制區域&#xff0c;JavaScript代碼可訪問該區域&#xff0c;類似于其它通用的二維API&#xff0c;通…

Java實現消息隊列服務

使用 JAVA 語言自己動手來寫一個MQ (類似ActiveMQ,RabbitMQ) 主要角色 首先我們必須需要搞明白 MQ (消息隊列) 中的三個基本角色 ProducerBrokerConsumer 整體架構如下所示 自定義協議 首先從上一篇中介紹了協議的相關信息,具體廠商的 MQ(消息隊列) 需要遵循某種協議或者…

Knockout中ko.utils中處理數組的方法集合

每一套框架基本上都會有一個工具類&#xff0c;如&#xff1a;Vue中的Vue.util、Knockout中的ko.utils、jQuery直接將一些工具類放到了$里面&#xff0c;如果你還需要更多的工具類可以試試lodash。本文只介紹一下Knockout中ko.utils中處理數組的一些方法。 ko.utils.arrayForEa…

$nextTick 源碼

x現在沒時間&#xff0c;留個坑 轉載于:https://www.cnblogs.com/smzd/p/11634665.html

java 發布訂閱

1.發布者接口 package com.yy.subpub; /** * Description: 發布者接口 * author: leijing * date: 2016年9月29日 下午5:07:20 */ public interface IPublisher<M> { /** * Description: 向訂閱器發布消息 * param subscribePublish 訂閱器 * param message 消息 * para…

.NET Core Session的簡單使用

前言 在之前的.NET 里&#xff0c;我們可以很容易的使用Session讀取值。那今天我們來看看 如何在.NET Core中讀取Session值呢&#xff1f; Session 使用Session之前&#xff0c;我們需要到Startup.cs中配置我們的服務如下&#xff1a; ①在ConfigureServices中加入&#xff1a;…

EasyNVR內網攝像機接入網關+EasyNVS云端管理平臺,組件起一套輕量級類似于企業級螢石云的解決方案...

背景分析 對于EasyNVR我們應該都了解&#xff0c;主要應用于互聯安防直播&#xff0c;對于EasyNVR&#xff0c;我們可以清楚的發現&#xff0c;EasyNVR的工作機制是EasyNVR拉取攝像機的RTSP/Onvif視頻流&#xff0c;然后客戶端可以通過訪問EasyNVR服務端實現流分發&#xff0c;…

java.util.Queue用法

隊列是一種特殊的線性表&#xff0c;它只允許在表的前端&#xff08;front&#xff09;進行刪除操作&#xff0c;而在表的后端&#xff08;rear&#xff09;進行插入操作。進行插入操作的端稱為隊尾&#xff0c;進行刪除操作的端稱為隊頭。隊列中沒有元素時&#xff0c;稱為空隊…

Vim刪除文件到行首或者行尾

vim用的不是很熟練&#xff0c;只是有時候需要的時候會學習一下 我們知道&#xff0c;vim有三種模式&#xff0c;一種是一般模式&#xff0c;一種是編輯模式&#xff0c;另外一種是命令行模式 在一般模式下&#xff0c;可以進行刪除&#xff0c;復制粘貼等操作&#xff0c;在編…

新版本微信導致的ios表單bug

解決方法如下&#xff1a; $(document).delegate(input, textarea, select, blur, function(){setTimeout(function(){$(html).animate({height: 100.1vh}, 100, function(){$(this).animate({height: 100vh}, 1)})},100); }); 轉載于:https://www.cnblogs.com/qdlhj/p/1033676…