本篇文章给大家分享的是有关.NET Core开发的iNeuOS物联网平台部署树莓派的解决方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
备注:为了文章的完整性,在《.NET Core开发的iNeuOS物联网平台部署在Ubuntu操作系统》中的内容适用于树莓派部署,也将在这篇文章中出现。
iNeuOS成功部署在树莓派上,意味着iNeuOS打通了从嵌入式到云端整体链路,为中小企业在物联网建设方面提供了整体解决方案,降低产品研发、项目执行方面的成本。iNeuOS部署在树莓派主要意义在于:
(1) 可以形成企业网关产品,应用到系统建设中。
(2) 设备容器可以远程设备数据采集进行远程运维,并且支持设备驱动在线更新。
(3) Web组态建模可以远程配置和开发监测页面,现场屏幕就地显示。
(4) 与云端系统无缝对接,快速进行私有云部署。
(5) 支持接口形式的二次开发,降低人员开发周期和成本。
(6) 降低企业开发和部署网关的成本,核心板+外壳+人工等费用,可以控制在几百元左右。
某企业对集团级的物联网平台进行升级,符合对远程部署的终端硬件网关可以进行远程配置和运维的总体要求。
但是,也会有质疑,认为C/C++更适合嵌入式或网关级的开发,占用资源少、运行效率高,当然这是最优的方案。iNeuOS在树莓派的部署,在考虑开发成本、项目执行周期成本、人力成本等诸多因素,从整体解决方案方面为企业提供了更多的选择路径。
在实际部署和使用过程,.NET Core在raspbian下的执行效率,没有想象中的差,另外执行效率只是我们选择方案考虑的因素之一。
树莓派3代b+开发板Raspberry Pi 3b,详细配置参数,如下图:
操作系统:raspbian September 2019
Kernel版本: 4.19
.NET Core版本:2.2.402
数据库:MariaDB (与mysql基本兼容)
下载地址: https://www.raspberrypi.org/downloads/raspbian/,如下图:
把Api和UI复制到Ubuntu操作系统的work目录下,如下图:
执行命令:
sudo vim /etc/ssh/sshd_config
增加如下配置信息:
PasswordAuthentication yes PermitRootLogin yes
sudo apt-get install curl libunwind8 gettext
curl -sSL -o dotnet.tar.gz https://download.visualstudio.microsoft.com/download/pr/e0050c1d-ddc6-4ac9-ba3b-07d85eec5890/614dae615fe229f6b6f43658262a8f08/dotnet-sdk-2.2.402-linux-arm.tar.gz (不是固定下载链接地址,可以先下载好,上传到raspbian系统,再执行下面的命令)
sudo mkdir -p /opt/dotnet
sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
(1)实例安装
ubuntu上安装mysql比较简单,只需要几条命令就可以完成,如下:
developer:~$ sudo apt-get install mariadb-server
安装过程中会提示设置密码,注意设置一样,安装完成之后可以使用如下命令来检查是否安装成功:
developer:~$ sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
(2)区分大小写配置
在unbuntu下找到/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]的下添加 lower_case_table_names=1 就行了。备注:为0时大小写敏感,为1时大小写不敏感,默认为0。如下图:
(3)外网访问权限配置
本地mysql5.7数据库,当使用127.0.0.1和localhost时可以连接,但当使用本地ip时192.168.*.则连接拒绝,当然外网通过192.168..*同样无法连接。
解决方法如下:
1)登陆mysql,授权外网访问权限
developer:~$ use mysql;
developer:~$ update user set host = ‘%’ where user = ‘root’;
developer:~$ flush privileges;
2)修改my.cnf配置
在unbuntu下找到/etc/mysql/mysql.conf.d/mysqld.cnf文件,把bind-address=127.0.0.1修改bind-address=0.0.0.0
3) 跳过权限表。(与在Ubuntu下部署不一样)
在unbuntu下找到/etc/mysql/mysql.conf.d/mysqld.cnf文件(如果是mariadb数据库,则是:/etc/mysql/mariadb.conf.d/50-server.cnf),加下配置: skip-grant-tables
其他设置,请根据实际情况进行选择。
(5)服务命令
启动方式:
使用 service 启动:service mysql start
使用 mysqld 脚本启动:/etc/inint.d/mysql start
停止方式:
使用 service 启动:service mysql stop
使用 mysqld 脚本启动:/etc/inint.d/mysql stop
重启方式:
使用 service 启动:service mysql restart
使用 mysqld 脚本启动:/etc/inint.d/mysql restart
安装反向代理nginx,启动,命令如下:
developer:~$ sudo apt-get install nginx
developer:~$ sudo service ngnix start
然后访问一下本机的IP地址(127.0.0.1),如果出现如下页面,说明已经安装成功。
(2) 修改后台接口服务(API)访问数据库的配置文件,考虑到安全性的问题,进行了加密,如下图:
(1) 运行后台接口服务(API),修改appsettings.json配置文件,可以侦听本地所有IP的端口,增加Kestrel配置节,如下图:
(2) 配置nginx服务,访问前端应用系统,如下:
安装好之后进入到以下目录,打开default文件,如下命令:
developer:~$ cd /etc/nginx/sites-available
developer:~$ sudo gedit default
修改为以下的内容,侦听81端口,并指访问的根目录(UI)和浏览的默认页(index.html),如下图:
WEB组态建模开发,如下图:
视图应用显示,如下图:
以上就是.NET Core开发的iNeuOS物联网平台部署树莓派的解决方法是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。