Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 164219|回复: 0

.NET Core开发的iNeuOS物联网平台部署树莓派(raspbian),从网关到云端整体解决方案。助力2019中国.NET峰会。

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-4-7 10:17:59 | 显示全部楼层 |阅读模式

    2019 中国.NET 开发者峰会正式启动

    目       录

    1.      概述... 2

    2.      树莓派硬件配置... 2

    3.      软件信息... 3

    4.      Raspbian下载及安装... 3

    5.      准备运行程序包... 4

    6.      安装SSH.. 4

    7.      安装.netcore. 4

    8.      安装mariadb. 5

    9.      安装nginx. 7

    10.   配置iNeuOS数据库和文件... 8

    11.    运行iNeuOS. 9


     

     

    1.   概述

            备注:为了文章的完整性,在《.NET Core开发的iNeuOS物联网平台部署在Ubuntu操作系统》中的内容适用于树莓派部署,也将在这篇文章中出现。

            iNeuOS成功部署在树莓派上,意味着iNeuOS打通了从嵌入式到云端整体链路,为中小企业在物联网建设方面提供了整体解决方案,降低产品研发、项目执行方面的成本。iNeuOS部署在树莓派主要意义在于:

    (1)    可以形成企业网关产品,应用到系统建设中。

    (2)    设备容器可以远程设备数据采集进行远程运维,并且支持设备驱动在线更新。

    (3)    Web组态建模可以远程配置和开发监测页面,现场屏幕就地显示。

    (4)    与云端系统无缝对接,快速进行私有云部署。

    (5)    支持接口形式的二次开发,降低人员开发周期和成本。

    (6)    降低企业开发和部署网关的成本,核心板+外壳+人工等费用,可以控制在几百元左右。

         某企业对集团级的物联网平台进行升级,符合对远程部署的终端硬件网关可以进行远程配置和运维的总体要求。

         但是,也会有质疑,认为C/C++更适合嵌入式或网关级的开发,占用资源少、运行效率高,当然这是最优的方案。iNeuOS在树莓派的部署,在考虑开发成本、项目执行周期成本、人力成本等诸多因素,从整体解决方案方面为企业提供了更多的选择路径。

         在实际部署和使用过程,.NET Core在raspbian下的执行效率,没有想象中的差,另外执行效率只是我们选择方案考虑的因素之一。

    2.   树莓派硬件配置

         树莓派3代b+开发板Raspberry Pi 3b,详细配置参数,如下图:

    3.   软件信息

          操作系统:raspbian September 2019

          Kernel版本: 4.19

         .NET Core版本:2.2.402

         数据库:MariaDB  (与mysql基本兼容)

    4.   Raspbian下载及安装

         下载地址: https://www.raspberrypi.org/downloads/raspbian/,如下图:

           使用Win32DiskImager工具把镜像文件写到sd卡上,过程不再详细介绍。

    5.   准备运行程序包

          把iNeuOS后台接口服务和前端应用系统复制到Ubuntu操作系统下的work工作目录,程序包中主要目录,如下图:

          把Api和UI复制到Ubuntu操作系统的work目录下,如下图:

     

    6.   安装SSH

         执行命令:

    sudo vim /etc/ssh/sshd_config

         增加如下配置信息:

    PasswordAuthentication yes
    PermitRootLogin yes

    7.   安装.netcore

          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

    8.   安装mariadb

    (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

       (4)执行 sudo mysql_secure_installation 设置root密码及权限,如下图:

          其他设置,请根据实际情况进行选择。

          (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

    9.   安装nginx

      安装反向代理nginx,启动,命令如下:

        developer:~$ sudo apt-get install nginx

        developer:~$ sudo service ngnix start

      然后访问一下本机的IP地址(127.0.0.1),如果出现如下页面,说明已经安装成功。

    10.             配置iNeuOS数据库和文件

      (1)    创建数据库,我是在window下使用Navicat执行sql脚本。如下图:

        (2)    修改后台接口服务(API)访问数据库的配置文件,考虑到安全性的问题,进行了加密,如下图:

        (3)    修改前端应用系统(UI)访问后台接口服务(API)的配置文件UI\lib\buffos\js\目录下request.js和uiconfig.js,如下图:

    11.             运行iNeuOS

      (1)    运行后台接口服务(API),修改appsettings.json配置文件,可以侦听本地所有IP的端口,增加Kestrel配置节,如下图:

              执行运行接口命令,如下图:

         (2)    配置nginx服务,访问前端应用系统,如下:

        安装好之后进入到以下目录,打开default文件,如下命令:

          developer:~$ cd /etc/nginx/sites-available

          developer:~$ sudo gedit default

        修改为以下的内容,侦听81端口,并指访问的根目录(UI)和浏览的默认页(index.html),如下图:

      (3)    访问URL(http://127.0.0.1:81或http://192.168.31.102:81)地址,效果如下图:

       登陆页面,如下图:

         WEB组态建模开发,如下图:

         视图应用显示,如下图:

      参见前三篇文章:

    iNeuOS云操作系统,.NET Core全系打造

    iNeuOS 物联网云操作系统2.0发布,集成设备容器、视图建模、机器学习

    .NET Core开发的iNeuOS物联网平台部署在Ubuntu操作系统,无缝跨平台


     物联网&集成技术 QQ群:54256083 

     物联网&集成合作 QQ群:727664080

     网站:http://www.ineuos.net

     

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-27 22:17 , Processed in 0.082295 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表