C#系列 NanoFramework+ESP32学习笔记(1 - 环境搭建)

前言

        本文为学习笔记(水平有限,可能有错误的地方),主要记录学习过程常用的东西以及过程中遇到的疑难问题之类的,后续将会把代码上传到Git上。

1、环境搭建

  1.1 Windows环境搭建

    1.1.1 驱动下载

        将ESP32接入电脑后查看设备管理器,如果在COM口未发现有新设备则设备没有安装驱动,需要安装驱动(我使用的是CP210x_VCP_Windows)。如下图所示,安装完成之后则可以查看到COM口(本机是COM3)。设备管理器

    1.1.2 调试工具nanoff安装

      1.1.2.1 安装工具        

        可以选择在控制台或者Windows PowerShell中输入指令行 dotnet tool install -g nanoff 进行安装。

dotnet tool install -g nanoff
      1.1.2.2 下载固件到ESP32开发板

        如果不知道板子型号(我的板子型号是ESP_WROOM_32)可以直接使用 nanoff --platform esp32 --serialport COM3 --update。如果中途安装失败可以试一试按下板子的ROOT按键。

# 该命令为 将连接到 COM3 的 ESP32 板子的固件更新到最新的可用版本
# nanoff --serialport 端口 --platform 端口 (--target 板子型号) --update
nanoff --platform esp32 --serialport COM3 (--target ESP32_REV3) --update

# 查看板子信息
nanoff --platform esp32 --serialport COM3 --devicedetails

# 刷新指定版本(不同固件引用的 Nuget 包不同,需要保持一致。若不一致,则会出现报错)
nanoff --target ESP32_REV3 --fwversion 1.9.0.1105 --serialport COM3 --update

     1.1.3 VS安装扩展NanoFramework

        在VS中选择扩展-管理扩展-联机,搜索nanoframework,然后下载,下载完成后关闭VS将进行安装。

  1.2 项目创建

    1.2.1 新项目创建

        打开VS,创建新项目,搜索nano,选择Blank Application进行创建。

    1.2.2 调试窗口选择

选择 VS-视图-其他窗口-“Device Explorer”,来打开“设备调试窗口” ,我电脑不知道有啥问题,Device Explorer上面的菜单按钮显示不出来(╮(╯▽╰)╭)。如下图所示,Devices显示出来则说明添加成功,如果没有,可以尝试重新烧录一次固件或者重新插拔一下板子。

    1.2.3 Device Explorer菜单栏简介

从左往右依次为

  1. ping设备
  2. 设备信息
  3. 擦除应用部署区域(移除项目应用)
  4. 网络信息编辑和设置
  5. 重启设备
  6. 启动或者关闭设备监听(就是监听设备是否存在)
  7. 重新搜寻设备信息
  8. 输出内部错误(VS输出里看到)
  9. 设置信息

 1.3 新程序烧录

    1.3.1 注意事项

        注:nanoframework的版本一定要和ESP32板子固件的版本一致,不然会烧录失败,这里我之前不知道,调了一个下午才调好(ಥ﹏ಥ)

如下图所示,nanoFramework.CoreLibrary下面target的版本与板子固件的版本(调试栏第二个按钮)的版本需要一致。

    1.3.2 烧录

        下面的代码为测试代码,作用是按下Boot按钮,此时会有一个灯亮,松开按钮则灯灭。

public class Program
{
    private static GpioController s_GpioController;
    public static GpioPin led;
    public static GpioPin button;

    public static void Main()
    {
        s_GpioController = new GpioController();//初始化GPIO           
        led = s_GpioController.OpenPin(2, PinMode.Output);//使能灯
       
        button = s_GpioController.OpenPin(Gpio.IO00, PinMode.Input);//boot按键 使能
        button.ValueChanged += Button_ValueChanged; //检测按钮变化

        //增加一个循环,不让流程退出
        while (true) { Thread.Sleep(1000); }
        // Browse our samples repository: https://github.com/nanoframework/samples
        // Check our documentation online: https://docs.nanoframework.net/
        // Join our lively Discord community: https://discord.gg/gCyBu8T
    }

    private static void Button_ValueChanged(object sender, PinValueChangedEventArgs e)
    {
        Debug.WriteLine("按键事件 : " + e.ChangeType.ToString());
        Debug.WriteLine("按键当前值: " + button.Read());

        if (e.ChangeType != PinEventTypes.Rising)
        {
            //按下点亮灯
            led.Write(PinValue.High);
        }
        else
        {
            //松开手灯灭
            led.Write(PinValue.Low);
        }

    }
}

下图的输出栏中未报错则说明程序烧录成功,此时按下板子的Boot可以看到有蓝灯亮起,松开则灭掉,效果图就不展示了。 

2、引用

本文部分引用于 执笔小白 博客꧁༺执笔小白༺꧂icon-default.png?t=N7T8https://www.cnblogs.com/qq2806933146xiaobai NanoFramework接口可查看官方网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值