zoukankan      html  css  js  c++  java
  • [IOT]

    1. 在 VS 2019 中创建 .Net Core 控制台应用程序,使用 Nuget 安装程序包:

    System.Device.Gpio
    Iot.Device.Bindings

    2. 更新 Main 函数,实现业务逻辑

    static void Main(string[] args)
    {
        var pin = 17;
        var lightTimeInMilliseconds = 1000;
        var dimTimeInMilliseconds = 200;
        using GpioController controller = new GpioController();
        controller.OpenPin(pin, PinMode.Output);
        Console.WriteLine($"GPIO pin enabled for use: {pin}");
        Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs eventArgs) => { controller.Dispose(); };
        while (true)
        {
            Console.WriteLine($"Light for {lightTimeInMilliseconds}ms");
            controller.Write(pin, PinValue.High);
            Thread.Sleep(lightTimeInMilliseconds);
            Console.WriteLine($"Dim for {dimTimeInMilliseconds}ms");
            controller.Write(pin, PinValue.Low);
            Thread.Sleep(dimTimeInMilliseconds);
        }
    }

    3. 在 "程序包管理器控制台" 中运行发布命令,注意发布目标平台为 linux-arm。

    dotnet publish -c release -r linux-arm

    4. 上传发布程序到树莓派,使用 cd 命令切换到发布文件夹(例如这里的 Demo_HelloLED),并设置文件权限。

    chmod 755 ./Demo_HelloLED

    chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

    一般是三个数字:chmod 750 "授权文件名"

    第一个数字表示文件所有者的权限
    第二个数字表示文件所有者同属一个用户组的其他用户的权限
    第三个数字表示其他用户组的权限。

    权限分为三种:读(r=4),写(w=2),执行(x=1)。
    结合起来还有可读可执行(rx=5=4+1),可读可写(rw=6=4+2)等。
    所以,chmod 755设置用户的权限为:
    1.文件所有者可读可写可执行                                                    --7
    2.与文件所有者同属一个用户组的其他用户可读可执行            --5
    3.其他用户组可读可执行                                                           --5

    5. 搭建硬件

    6. 运行 .Net Core 应用程序

    ./Demo_HelloLED

     7. 效果演示

     

    参考资料

    https://www.cnblogs.com/zhanggaoxing/p/10311697.html
    https://dzone.com/articles/aspnet-core-30-on-raspberrypi-controlling-led
    https://www.cnblogs.com/songxingzhu/p/7399991.html
    https://blog.csdn.net/mwangsheng/article/details/77991304

  • 相关阅读:
    小程序组件事件
    关于微信小程序中组件和页面对全局样式的继承性
    创建Java程序并设置快捷提示
    微信小程序设置全局字体
    微信小程序组件的使用
    微信开发者工具的一些快捷键
    消除flex-wrap之后每个item上下的距离
    flex布局中的主轴和侧轴的确定
    C++string中用于查找的find系列函数浅析
    C++11 图说VS2013下的引用叠加规则和模板参数类型推导规则
  • 原文地址:https://www.cnblogs.com/jinzesudawei/p/11312815.html
Copyright © 2011-2022 走看看