树莓派 netcore3.1

安装dotnet core 3.1

参考:https://www.cnblogs.com/willhuo/p/12689072.html
思路是下载arm32的sdk,解压到某个目录,然后添加环境变量就可以了。
这是我实现的过程:

这里要注意的是,上面设置环境变量是临时的,重启后就会失效,永久设置的话可以编辑/etc/profile文件

sudo vim /etc/profile

在文件中加入

export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

参考文章原文:
查了一下资料,除了ubuntu某个特定的版本支持arm64,其他的默认版本都是只支持arm32
然而arm32没有包管理工具安装,需要手动安装,那就闲话少说,开始整吧。

手动安装指导文档
https://docs.microsoft.com/zh-cn/dotnet/core/install/sdk?pivots=os-linux#download-and-manually-install

文件下载地址,一定要选择linux-arm32
https://dotnet.microsoft.com/download/dotnet-core/3.1

wget https://download.visualstudio.microsoft.com/download/pr/ccbcbf70-9911-40b1-a8cf-e018a13e720e/03c0621c6510f9c6f4cca6951f2cc1a4/dotnet-sdk-3.1.201-linux-arm.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.100-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

这样就可以了,测试一下


控制台程序

dotnet new console --output firstDotnetCore
cd firstDotnetCore
dotnet add package System.Device.Gpio --version 1.0.0

以上操作分别是创建了一个控制台程序,然后为该项目添加了System.Device.Gpio引用
System.Device.Gpio : https://www.nuget.org/packages/System.Device.Gpio

设置硬件

参考:https://www.cnblogs.com/zhanggaoxing/p/10311697.html


实际上到这里就和平台无关了,下面完全是dotnet的东西


串口

参考:https://www.cnblogs.com/zhanggaoxing/p/11708856.html

ls -l /dev/ttyS*

使用上面的命令可以查看本机串口。
关于这个串口的一些详细信息请参照:https://zhuanlan.zhihu.com/p/38853178
简单总结下就是/dev/ttyS0 是个模拟出来的东西没有那么可靠

串口的设置:https://www.qutaojiao.com/9502.html

sudo raspi-config

dotnet的串口操作就是用SerialPort类,这里的使用方法就和平台无关了,win下怎么用 这里还怎么用。

SerialPort sp = new SerialPort(portName: "/dev/ttyUSB0")
{
    BaudRate = 115200,
    Encoding = Encoding.UTF8,
    ReadTimeout = 500,
    WriteTimeout = 500,
}

asp .net core 3.1

参照asp 文档,成功创建。
文档链接:https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view=aspnetcore-3.1&tabs=linux

发布

dotnet publish

发布后在bin/publish文件夹下
cd到publish文件夹,直接dotnet xxx.dllxxx代表你的工程名,就能运行了

链接mysql数据库

直连mysql

CLI安装MySql.Data

dotnet add package MySql.Data --version 8.0.19

代码:

using System;
using MySql.Data.MySqlClient;
namespace firstDotnetCore
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
	    String connetStr = "server=127.0.0.1;port=3306;user=root;password=12345; database=mysql;";
  	    MySqlConnection conn = new MySqlConnection(connetStr);
		try
		{    
		      conn.Open();
		      Console.WriteLine("已经建立连接");
		      string sql= "select User from user";
		      MySqlCommand cmd = new MySqlCommand(sql,conn);
		      MySqlDataReader reader =cmd.ExecuteReader();
                      //初始索引是-1,执行读取下一行数据,返回值是bool
		      while (reader.Read())
		      {
                Console.WriteLine(reader[0].ToString());
              }
		}
		catch (MySqlException ex)
		{
		      Console.WriteLine(ex.Message);
		}
		finally
		{
		      conn.Close();
		}
        }
    }
}

执行:

sqlsugar

直接写sql语句很少,通常是用orm,下面试试
CLI安装sqlsugar
https://www.nuget.org/packages/Lu.SqlSugarCoreMaster/

cd firstDotnetCore
dotnet add package Lu.SqlSugarCoreMaster --version 1.0.1


sqlsugar文档:http://www.codeisbug.com/Doc/8

原文地址:https://www.cnblogs.com/feipeng8848/p/12787330.html