在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何利用ESP8266實現智能手表的設計

科技觀察員 ? 來源:Hans-Günther Nusseck ? 作者:Hans-Günther Nusseck ? 2022-04-01 15:29 ? 次閱讀

這是一款簡單的ESP8266手表,具有多個位置的 WiFi 連接、NTP 時間服務器同步和比較功能。

背景

你可以買一塊現成的智能手表,它有很多花哨的功能,但實質上你并沒有改變任何東西。或者你可以買一個類似蒸汽朋克的開發工具包手表,自己編寫你感興趣的功能。

這款手表實際上不是手表,而是一個設計為掃描 WiFi 網絡、阻止選定連接、創建數十個網絡和混淆 WiFi 掃描儀的設備。之前有人開發了類似的軟件,里面有很多有趣的功能,但就是沒有真正的時間顯示。造成這種情況的一個原因可能是該設備不包含實時時鐘 (RTC)。這意味著每次重新啟動設備時都會丟失時間設置。但是該設備有一個 WiFi 芯片,因此只需要使用正確的代碼之后,您就可以從時間服務器獲取時間了。

NTP

我對 WiFi 攻擊不感興趣,但對如何實現時間服務器功能感興趣。網絡時間協議(NTP) 是一種基于網絡的時鐘同步協議。espressive ESP SDK提供了訪問 NTP 服務器和輕松轉換時間的功能。讓您無需擔心 UDP 連接和數據交換。只需包含庫Time.h ,定義 NTP 服務器名稱,從服務器創建時間變量,配置通信并獲取時間:

pYYBAGJGqbyANhS1AACRbOvZZBY337.png

通過這種簡單的方式,您可以從時間服務器獲取當前時間(以秒為單位)。此值(NTP 時間戳)編碼為自 1900 年 1 月 1 日 00:00:00 以來的秒數,也稱為“紀元”。例如,值1587775785對應于以下日期:Saturday, 25. April 2020 00:49:45

要將 epoch 值轉換為可管理的值,庫中提供了函數localtime_r() 。此函數將紀元轉換為結構,以便您可以直接處理分鐘、秒、小時和日期值:

// the tm structure contains the following data:
//
// int tm_sec; --> 0 .. 59
// int tm_min; --> 0 .. 59
// int tm_hour; --> 0 .. 23
// int tm_mday; --> 1 .. 31
// int tm_mon; --> 0 .. 11 (0 = January)
// int tm_year; --> years since 1900
// int tm_wday; --> 0 .. 6 (0 = Sunday)
// int tm_yday; --> 0 .. 365
// int tm_isdst; --> Daylight Saving Time flag
//
tm dateTime;

void loop() {
// time() fetch the actual time from the NTP server
// and store it as epoch into the variable
time(&NTPTime);
// localtime_r() converts the epoch into the tm-structure
localtime_r(&NTPTime, &dateTime);
Serial.print(dateTime.tm_hour);
Serial.print(':');
Serial.print(dateTime.tm_min);
Serial.print(':');
Serial.println(dateTime.tm_sec);
delay(1000);
}

注意:月份 ( tm_mon ) 和星期幾 ( tm_wday ) 的值:它們從 0 開始,而不是從 1!要獲得正確的年份值,您只需將值tm_year添加 1900 。

手表

為了保持代碼簡單、干凈和可讀,我為手表編寫了一個類,它封裝了 LED、按鈕和顯示屏。Watch-object 需要在開始時進行初始化。然后您可以輕松訪問 LED、顯示屏或按鈕,而無需任何進一步的初始化。

poYBAGJGqbWAfbCAAAIJR_ySfu4099.png

該庫需要以下庫:

poYBAGJGqbCAY02rAADBMIQ59AQ650.png

確保它們已安裝。最簡單的方法是在 Platformio.ini 文件中輸入 lib 依賴項:

pYYBAGJGqayAPFHpAAB1_fadvEA020.png

還可以看到,我選擇了標準的espressif8266平臺和nodemcuv2作為板定義,這可以使上傳工作正常,無需任何進一步的調整。

時間漂移

由于手表沒有實時時鐘(RTC),因此必須使用處理器時鐘來計算時間。sysTime_now ()函數返回自系統啟動以來經過的秒數。該值也是一個紀元,因此可以使用函數localtime_r()進行轉換。但這還不是全部:您還可以簡單地為其添加一個紀元并獲得一個新的時間值。這正是我在代碼中所做的,以使系統時間與 NTP 時間同步。啟動時系統時間為零,即 01.01.1970。按下導航按鈕,從時間服務器檢索當前時間信息。然后將此信息添加到系統時間。因此,系統時間具有當前時間,并且每次調用該函數sysTime_now()實際時間被計數。再次向上按下按鈕可從時間服務器檢索當前時間值。但是現在當前系統時間值只與時間服務器值進行比較。時間本身沒有改變。如果處理器時鐘非常準確,那么即使在較長一段時間內也不會出現可測量的偏差。

時區

時間服務器的返回值始終為 UTC。但是有一種非常簡單的方法可以自動將時間轉換為所需的時區:您只需通過設置TZ環境變量來指定時區:

poYBAGJGqaaALuPFAABdzHSYs_8403.png

現在,無論何時調用localtime_r()函數,值都會根據配置的時區自動轉換。時區字符串看起來很奇怪,但這里有一個時區字符串列表,可以簡單地復制您需要的字符串。最理想的情況是在字符串中也定義了夏令時,因此切換的同時也會自動變換。唯一需要注意的是電池始終處于充電狀態。根據使用情況,它可能會持續大約 7 小時左右。

其他版本

該固件“開箱即用”也適用于舊版手表和“DSTIKE WiFi Deauther OLED V6”板:

pYYBAGJGqaOAaC_oAAYvHI7yjQc143.png

故障排除

例:使用最新版本的顯示驅動程序時,屏幕不再工作,并且屏幕顯示黑色。

為此,必須編輯 platformio.ini 文件中的 lib-deps:

pYYBAGJGqZ-ATiqzAAAypzeplE8714.png

然后用這些命令

poYBAGJGqZqAU1aiAAAdjiVBO4U739.png
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WIFI
    +關注

    關注

    81

    文章

    5297

    瀏覽量

    203717
  • 智能手表
    +關注

    關注

    36

    文章

    3286

    瀏覽量

    114070
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45008
收藏 人收藏

    評論

    相關推薦

    ESP8266系列模塊選型

    ESP8266系列模塊選型ESP8266 ESP-01 ESO-02
    發表于 01-05 17:34 ?37次下載

    使用esp8266實現STM32聯網(最簡單USART方法)

    到電腦上的java程序 這一篇 esp8266與STM32連接,電腦通過STM32配置esp8266實現聯網發送數據具體流程如下圖 2= esp8266怎么和STM32連接(引腳連
    發表于 11-22 11:51 ?1.3w次閱讀

    esp8266 at指令集詳解

    ESP8266可廣泛應用于智能電網、智能交通、智能家具、手持設備、工業控制等領域。本文介紹了esp8266 at指令集,以及
    發表于 12-08 13:52 ?14.4w次閱讀
    <b class='flag-5'>esp8266</b> at指令集詳解

    使用ESP8266實現智能杯墊的設計資料免費下載

    本文檔的主要內容詳細介紹的是使用ESP8266實現智能杯墊的設計原理圖和源程序文件免費下載。
    發表于 02-24 08:00 ?1次下載

    ESP8266

    優點1.性能穩定ESP8266EX 的工作溫度范圍大,且能夠保持穩定的性能,能適應各種操作環境。2.低功耗ESP8266EX 專為移動設備、可穿戴電子產品和物聯網應用而設計,通過多項專有技術實現
    發表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    基于ESp8266智能插座

    基于ESp8266智能插座基于ESP8266+STM32F1的智慧生活套件文章目錄基于ESP8266+STM32F1的智慧生活套件一、項目背景二、項目分析三、產品框架四、設計思路五、
    發表于 12-01 09:21 ?32次下載
    基于<b class='flag-5'>ESp8266</b>的<b class='flag-5'>智能</b>插座

    利用ESP8266模塊實現遠程用手機控制開關

    利用ESP8266模塊實現遠程用手機控制開關文章目錄前言一、ESP8266是什么?二、使用步驟1.密鑰與核心庫2.連接Wi-Fi3.手機端控制函數總結插入鏈接與圖片列表前言隨著萬物聯網
    發表于 12-04 13:06 ?16次下載
    <b class='flag-5'>利用</b><b class='flag-5'>ESP8266</b>模塊<b class='flag-5'>實現</b>遠程用手機控制開關

    利用esp8266接入小愛同學,實現智能臺燈的改造物聯網初識

    硬件準備1.繼電器WIFI智能插座模塊2.USB轉ESP8266WIFI模塊3.ESP8266模塊軟件環境搭建1.小愛同學app,或者米家app,點燈 Blinker app2.ArdunioIDE
    發表于 01-04 10:44 ?17次下載
    <b class='flag-5'>利用</b><b class='flag-5'>esp8266</b>接入小愛同學,<b class='flag-5'>實現</b><b class='flag-5'>智能</b>臺燈的改造物聯網初識

    ESP8266使用教程之初識

    串口與MCU通信,內置 TCP/IP 協議棧,實現串口與 WiFi 之間的裝換。? 通過正點原子的 ATK-ESP8266,傳統的串口設備只需要通過串口配置,就可以通過網絡傳輸自己的數據。二.引...
    發表于 01-04 18:59 ?80次下載
    <b class='flag-5'>ESP8266</b>使用教程之初識

    ESP8266智能手表設計分享

    電子發燒友網站提供《ESP8266智能手表設計分享.zip》資料免費下載
    發表于 08-09 10:49 ?1次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>智能手表</b>設計分享

    基于ESP8266的WiFi車

    該項目使用 NodeMcu esp8266 和 Blynk 由您的智能手機控制的最簡單的 wifi 汽車。
    發表于 12-08 10:15 ?10次下載

    使用智能手機控制Esp8266情緒燈

    電子發燒友網站提供《使用智能手機控制Esp8266情緒燈.zip》資料免費下載
    發表于 02-07 09:22 ?1次下載
    使用<b class='flag-5'>智能手</b>機控制<b class='flag-5'>Esp8266</b>情緒燈

    ESP8266硬件

    目前市面上有關ESP8266模組有很多的種類,但是都是使用的樂鑫公司開發的ESP8266的wifi模組,而且種類也很多。
    的頭像 發表于 02-10 14:25 ?4760次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    ESP8266接入小愛同學—智能LED臺燈或風扇(利用繼電器)

    的具體配置可參考 先說一下本次預期想要實現的功能: 1.利用WiFiManager庫實現自動配網,亦能夠滿足在不同WiFi下可以不用更改程序即可鏈接不同的WiFi 2.利用
    發表于 05-04 11:37 ?1次下載
    <b class='flag-5'>ESP8266</b>接入小愛同學—<b class='flag-5'>智能</b>LED臺燈或風扇(<b class='flag-5'>利用</b>繼電器)

    ESP8266初次如何實現無線通信(基于電腦與ESP8266)

    一.需要的軟件及硬件 1.軟件 2.硬件 二.ESP8266的使用 .ESP8266的介紹 2.ESP8266進行初始AT指令的配置步驟 三.所用軟件安裝分享 ESP8266
    發表于 05-30 09:53 ?28次下載
    <b class='flag-5'>ESP8266</b>初次如何<b class='flag-5'>實現</b>無線通信(基于電腦與<b class='flag-5'>ESP8266</b>)
    主站蜘蛛池模板: 欧美黄色片免费| 国产h在线观看| 美女写真mm爽爽爽| 日韩一级高清| 亚洲偷自偷白图片| 能直接看黄的网站| 色视频www在线播放国产人成| 国产精品虐乳在线播放| 狠狠操天天操视频| 最好免费高清视频观看韩国| 久久青草国产精品一区| 人人草人| 最近2018免费中文字幕视频| 久久免费视频精品| 国产精品人人爱一区二区白浆| 最新精品| 国产精品久久久久aaaa| 2018国产大陆天天弄| 天堂视频在线观看| 亚洲va中文va欧美va爽爽| 一级毛片日韩a欧美| 免费国产成高清人在线视频| 日日摸夜夜爽夜夜爽出水| 国产精品爱久久久久久久三级| 精品三级内地国产在线观看| 国产香蕉在线精彩视频| 天堂男人网| 天天天综合网| 最近2018年中文字幕大全一| 国产精品主播在线| miya亚洲私人影院在线| 人人插97| 四虎免费影院在线播放| 夜夜夜夜爽| 精彩视频一区二区三区| 国产一区二区三区影院| xx性欧美| 久久免费视频精品| 六月丁香深爱六月综合激情| 人人人人澡| aa在线免费观看|