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

.NET Core开发的iNeuOS物联网平台部署树霉派,从网关到云端整体解决方案。助力2019中国.NET峰会。的更多相关文章

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

    2019 中国.NET 开发者峰会正式启动 目       录 1.      概述... 2 2.      树莓派硬件配置... 2 3.      软件信息... 3 4.      Raspb ...

  2. [视频演示].NET Core开发的iNeuOS物联网平台,实现从设备&PLC、云平台、移动APP数据链路闭环

    目       录 1.      概述... 1 2.      登陆信息... 2 3.      设备驱动... 3 4.      组态建模... 3 5.      手机APP. 5 6.  ...

  3. .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台。助力《2019 中国.NET 开发者峰会》。

    2019 中国.NET 开发者峰会正式启动 目       录 1.      概述... 2 2.      准备运行程序包... 2 3.      安装.netcore. 3 4.      安 ...

  4. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  5. .NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

    目       录 1.      概述... 2 2.      演示信息... 2 3.      简单介绍... 3 4.      产品特点... 4 5.      价值体现... 5 1. ...

  6. .NET Core开发的iNeuOS工业互联平台,升级四大特性:配置数据接口、图元绑定数据、预警配置和自定义菜单

    目       录 1.      概述... 2 2.      演示信息... 2 3.      iNeuView(Web组态)配置数据接口... 2 4.      iNeuView(Web组 ...

  7. 【.NET Core项目实战-统一认证平台】第十五章 网关篇-使用二级缓存提升性能

    [.NET Core项目实战-统一认证平台]开篇及目录索引 一.背景 首先说声抱歉,可能是因为假期综合症(其实就是因为懒哈)的原因,已经很长时间没更新博客了,现在也调整的差不多了,准备还是以每周1-2 ...

  8. 【.NET Core项目实战-统一认证平台】第十六章 网关篇-Ocelot集成RPC服务

    [.NET Core项目实战-统一认证平台]开篇及目录索引 一.什么是RPC RPC是"远程调用(Remote Procedure Call)"的一个名称的缩写,并不是任何规范化的 ...

  9. iNeuOS 工业互联网 从网关到云端一体化解决方案。教你如何做PPT。

          iNeuOS 专注打造云端操作系统,提供全新解决方案   (凑够150字) 核心组件包括:边缘网关(iNeuLink).设备容器(iNeuKernel).视图建模(iNeuView).机器 ...

随机推荐

  1. HBase介绍、安装与应用案例

    搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放 Hadoop等组件运行包.因为该目录用于安装hadoo ...

  2. Oracle SQL调优之绑定变量用法简介

    目录 一.SQL执行过程简介 二.绑定变量典型用法 2.1.在SQL中绑定变量 2.2.在PL/SQL中使用绑定变量 2.3.PL/SQL批量绑定变量 2.4.Java代码里使用绑定变量 最近在看&l ...

  3. Kubernetes的Deployment对象使用

    一.什么是Deployment对象 明明ReplicaSet已经可以控制pod的数量了,为什么还需要Deployment? Deploymen实际上一个两层控制器,遵循一种滚动更新的方式来实升级现有的 ...

  4. selenium-01-简介

    一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...

  5. Jmeter not found in class'org.json.JSONObject 问题

    前景:公司有银行的项目要进行压测,但是接口有近视RSA加密,需发送签名,只能使用java编写原生接口脚本打包成jar使用BeanShell Sampler去调用发送请求.在使用的过程中遇到了如下问题. ...

  6. mysql 查找数组格式的字符串中是否包含某个值

    --#{type}表示将判断的单个值 例如 -- arr表示数组格式的字符串,例如 ,,, FIND_IN_SET(#{type},arr) 使用的时候,举例:

  7. java8 函数接口

    [前言] java8新特性 java8 Optional使用总结 java8 lambda表达式 Java 8 时间日期使用 1.函数式接口新特性 java8中引入了函数式接口新特性,使用@Funct ...

  8. 一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_inf ...

  9. 根据vue-cli手摸手实现一个自己的脚手架

    故事背景 身为一个入门前端七个月的小菜鸡,在我入门前端的第一天就接触到了vue,并且死皮赖脸的跟他打了这么久的交到,还记得第一次用vue init webpack 这句命令一下生成一个模板的时候那种心 ...

  10. .NET进阶篇-丑话先说,Flag先立

    作为开发者,工作了几年,也总觉得技术栈和刚毕业区别不大,用的技术还都是N年前的,每每看到新东西,也只心里哇塞惊叹一下,然后就回归于忙碌.怪自己的技术池太浅,热门的令人称奇的技术也都是在其他巨人的肩膀上 ...