用C#為國產智能手表寫“Hello, China. ”

??????在此之前, 我寫過幾篇如何使用C#編寫STM32程序的例子,?那么同樣, ESP32下我們也可以使用C#,我們依然仰仗于一直在發展壯大的 .Net nanoFramework , 目前他支持的開發板越來越多 , 支持的芯片種類也越來越多, 而且相關的庫也越來越多,?所支持的器件完全可以支撐常規應用開發。90%的器件均可在淘寶購買。

????? ?在前段時間閑逛GitHub時發現深圳芯元電子的 LILYGO? T-WATCH-2020 V3 已經被nanoFramework 所支持, 并在支持的列表中。?這讓我對nanoFramework 備受鼓舞,?寫下此文章,?希望有助于大家低門檻進入ESP32 的開發。?

????????首先, 你需要淘寶上買一個設備,?我選的是??LILYGO? T-WATCH-2020 V3? +??CH9102F ?,?淘寶上可以搜到。在LILYGO的官方淘寶店就可以買到, 二百多塊, 相比STM32的開發版來說, 便宜到爆。?拿到東西后充電,開機, 對自帶界面沒太多操作的想法, 因為要用LVGL做好一個可操作界面, 用起來跟蘋果或者安卓一樣, 這需要耗費大量美工和C程序員的大量時間,所以,作為一個智能手表開發板來說, 他已經演示了所有的功能, 所以, 二話不說我們直接刷固件。?

  1. 安裝nanoff , 他是個nanoFramework?刷bootloader 和 nanoCLR 的工具, 有了他, 你才可以通過Visual Studio 開發工具發現,命令:?

    ?dotnet tool install -g nanoff

?? ?安裝完成后提示?

可使用以下命令調用工具:?nanoff?

已成功安裝工具“nanoff”(版本“2.1.7”)。

2. 使用命令? nanoff --listports ?查看你的設備串口是否連接。?

d548b12a601ac8cf0b1649a60ed89b16.png

3. 刷固件? ?platform ?用來指定平臺, 比如stm32 或者 stm32 等,serialport 指定串口, ?update 的意思就是更新固件, target 就是指定已支持的目標開發板名稱, 如果不指定 nanoff 會根據platform 自動指定一個。

nanoff --platform esp32 --serialport COM3 --update --target ESP32_LILYGO

?注意, 這里有個不完善的地方,?如果你指定了 ESP32_LILYGO , 在VS中就無法發現他, 可能是固件沒有兼容好的問題, 如果使用默認ESP32 就沒有這個問題。關于這點, 我已經在相關帖子內提出了,?大家可以在遇到此問題時?跟帖 https://github.com/nanoframework/Home/issues/803#issuecomment-1186216641

如果成功, 界面應該是如下顯示。?

ef7feeee524773022c1c39f7a6ae7dc9.png

4. 打開Visual Studio ? , 你需要安裝 .NET nanoFramework Extension ,這樣你才能夠在新建項目時選擇nanoFramework 的項目, 如下圖:

6495b8b1149de806d309d5083f1d8819.png

??新建項目后,?項目基本結構如下:

e1346d6f21df4cb9fb03f2b2eaf1a31a.png

此時, 我們需要點開 nanoFramework的設備查看器, 插上你的手表。?

fad3e854aeee69714a6d322328aacaaf.png

, 現在點擊?

5cc03dea0a322e22d7a81be7e4fef457.png

啟動后, 如下:

b16abceb7f86fb5b0dcaba0f74b1f01a.png

至此,?你的第一行代碼實現, wifi、界面、數據采集,?你需要做大量工作。?但總算開頭了,?希望你能從中找到樂趣。祝你好運。?

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

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

相關文章

Python將list存為csv文件

#!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd""" description:將list存為csv文件 param {*} return {*} """staticmethod def list_to_csv(list_data, csv_file):if len(list_data) &…

【BIM入門實戰】Revit入門基礎知識選擇題帶答案解析(116題)

1、在Revit同一個界面同時打開多個視圖的快捷鍵是( )。 A、 WT B、 WA C、 WC D、 WD 答案: A 2、Revit樣板文件的后綴名是( )。 A、 .rvt B、 .rte C、 .rfa D、 .ifc 答案: B 3、標高、軸網創建的快捷鍵分別是( )。 A、 AL LL B、 LL GR C、 AR MM D、 LL TR 答案…

數據遷移 (選做)

1. pip install flask-migrate #Flask-Migrate 是一個數據遷移框架,需要通過Flask-script庫來操作. 2. pip install flask-script #通過命令行來操作Flask 3. 新建模型更改文件:manage.py from flask_script import Managerfrom flask_migrate import Migrate, Mi…

Flex4項目html-template文件夾解析

每個Flex的web應用程序項目都包含一個名為html-template文件夾。這個文件夾包含HTml模板和在瀏覽器中運行程序的支持文件。 每當你更改保存到你的源代碼,Flash Builder會自動重建應用程序使用的HTML模型文件并生成一個HTML包。同時,它把HTML模板文件夾的…

驅動之LCD的介紹與應用20170209

本文主要介紹的是LCD的介紹與應用,直接看個人筆記即可: 轉載于:https://www.cnblogs.com/yuweifeng/p/6382551.html

.NET 序列化枚舉為字符串

默認情況下,枚舉是以其整數形式進行 JSON 序列化,這通常會導致與消費者應用缺乏互操作性,因為他們需要事先了解這些數字的實際含義。因此,我們希望它們在一些情況下以字符串的形式進行序列化。本文將講解實現這一目標的各種方法。…

ArcGIS實驗教程——實驗四十四:ArcGIS地圖浮雕效果制作完整案例教程

ArcGIS制作地圖時可以制作出很多很炫的效果,比如地圖陰影、地圖暈渲效果、浮雕效果、三維效果等等。本實驗講解在ArcGIS中制作浮雕效果地圖,效果如下所示: 擴展閱讀:【ArcGIS Pro微課1000例】0016:ArcGIS Pro 2.8浮雕效果地圖制圖案例教程 1. 加載矢量數據 加載實驗數據包…

Mysql,SqlServer,Oracle主鍵自動增長的設置

參考文獻 http://blog.csdn.net/andyelvis/article/details/2446865 1、把主鍵定義為自動增長標識符類型 MySql 在mysql中,如果把表的主鍵設為auto_increment類型,數據庫就會自動為主鍵賦值。例如: create table customers(id int auto_incre…

Chapter 3 Phenomenon——19

His unfriendliness intimidated me. 他的不友好恐嚇到了我。 My words came out with less severity than Id intended. 我說出來的言辭比我打算的要不嚴厲一些。 我說出的話遠遠沒有達到我所想要的充滿火藥味的效果。 "You owe me an explanation," I reminded him…

Javascript 面向對象編程(一):封裝

Javascript是一種基于對象(object-based)的語言,你遇到的所有東西幾乎都是對象。但是,它又不是一種真正的面向對象編程(OOP)語言,因為它的語法中沒有class(類)。 那么&am…

【ArcGIS Pro微課1000例】0016:ArcGIS Pro 2.8浮雕效果地圖制圖案例教程

ArcGIS Pro制作地圖時可以制作出很多很炫的效果,比如地圖陰影、地圖暈渲效果、浮雕效果、三維效果等等。本實驗講解在ArcGIS Pro 2.8中制作浮雕效果地圖,效果如下所示: 【參考閱讀】:ArcGIS實驗教程——實驗四十四:ArcGIS地圖浮雕效果制作完整案例教程 1. 加載矢量數據 …

用正則實現多行文本合并,從而保存為csv文件

有如下文本,想實現每三行合并為一行,最終生成csv文件 分數 人數 累計人數 661及以上 23 23 660 3 26 659 5 31 658 5 36 657 9 45 656 10 55 655 4 59 654 6 65 653 15 80查找項: ^(.) ^(.) ^(.)替換項: $1,$2,$3替換結果&…

聊一聊 C# 后臺GC 到底是怎么回事?

一:背景 寫這一篇的目的主要是因為.NET領域內幾本關于闡述GC方面的書,都是純理論,所以懂得人自然懂,不懂得人也沒法親自驗證,這一篇我就用 windbg 源碼 讓大家眼見為實。二:為什么要引入后臺GC 1. 后臺GC到…

【BIM入門實戰】Revit中的墻體層次以及常見問題解答

一、Revit墻體的層次 1. Revit墻體的層次如圖 Revit繪制墻體時,要先選擇定位線,可以選核心層中心線,也可以選墻中心線,當墻體為對稱時,核心層中心線與墻中心線會重合。 2. 具體層次 1)結構[1]:必須在核心邊界內 2)襯底[2]:其他材質基礎的材料,如膠合板或石膏板 3…

Spring Boot 使用Redis

轉載自:http://www.cnblogs.com/ityouknow/p/5748830.html Redis支持更豐富的數據結構,例如hashes, lists, sets等,同時支持數據持久化。除此之外,Redis還提供一些類數據庫的特性,比如事務,HA,主…

工具鏈接

OmniGraffle Pro 7.0.2 Mac中文破解版 | 史蒂芬周的博客        http://www.sdifenzhou.com/omnigrafflepro702.html 轉載于:https://www.cnblogs.com/wfwenchao/p/6393097.html

FlashCache初體驗

FlashCache初體驗 注意: 測試用的是CentOS6.5 內核版本2.6.32-431.el6.x86_64 步驟: 上傳CentOS6.5做本地yum源,安裝以下包。 yum install gcc yum install *kernel* yum install perl 將flashcache master打包下載至測試機上,可以…

用python將指定目錄下的所有json文件合并成一個csv文件

#!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd import csv""" 獲取文件名列表 """ def list_file_names(folder):exist_files os.listdir(folder)file_list []for f in exist_files:…

【系統設計】分布式鍵值數據庫

鍵值存儲 ( key-value store ),也稱為 K/V 存儲或鍵值數據庫,這是一種非關系型數據庫。每個值都有一個唯一的 key 關聯,也就是我們常說的 鍵值對。常見的鍵值存儲有 Redis, Amazon DynamoDB,Microsoft Azure Cosmos DB&#xff0c…

keras系列︱Application中五款已訓練模型、VGG16框架(Sequential式、Model式)解讀(二)...

引自:http://blog.csdn.net/sinat_26917383/article/details/72859145 中文文檔:http://keras-cn.readthedocs.io/en/latest/ 官方文檔:https://keras.io/ 文檔主要是以keras2.0。 . . Keras系列: 1、keras系列︱Sequential與Mo…