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

 1.   概述

       参见前两篇文章:《

       iNeuOS完全使用.netcore开发,主要为企业、集成商打造从网关、边缘应用、云端建设的物联网/工业互联网平台产品级解决方案。面向应用场景:(1)嵌入式硬件网关的开发和部署,形成自己企业网关产品。(2)企业私有云物联网平台的搭建。(3)集团级公有云物联网平台的搭建。面向这些应用场景都支持多设备多协议的设备接入、视图组态建模、面向机器学习的数据分析。

2.   准备运行程序包

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

iNeuOS完全使用.netcore开发,主要为企业、集成商打造从网关、边缘应用、云端建设的物联网/工业互联网平台产品级解决方案

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

640?wx_fmt=png

3.   安装.netcore

      Ubuntu 操作系统版本:16.04

     .netcore版本:2.2.4,程序包:dotnet-sdk-2.2

      安装过程,如下图:

640?wx_fmt=png

       参考官方链接:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

4.   安装mysql

(1)实例安装

         ubuntu上安装mysql比较简单,只需要几条命令就可以完成,如下:

1
2
3
developer:~$ sudo apt-get install mysql-server
developer:~$ apt-get isntall mysql-client
developer:~$ sudo apt-get install libmysqlclient-dev

       安装过程中会提示设置密码,注意设置一样,安装完成之后可以使用如下命令来检查是否安装成功:

1
developer:~$ sudo netstat -tap | grep mysql

       通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

      登陆mysql数据库可以通过如下命令:

1
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。如下图:

640?wx_fmt=png

  (3)外网访问权限配置

       本地mysql5.7数据库,当使用127.0.0.1和localhost时可以连接,但当使用本地ip时192.168.*.则连接拒绝,当然外网通过192.168..*同样无法连接。

       解决方法如下:

      1)登陆mysql,授权外网访问权限

1
2
3
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

(4)服务命令

        启动方式:

        使用 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

5.   安装nginx

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

1
2
developer:~$ sudo apt-get install nginx
developer:~$ sudo service ngnix start

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

640?wx_fmt=png

6.   配置iNeuOS数据库和文件

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

  640?wx_fmt=png

7.   运行iNeuOS

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

1
2
developer:~$ cd /etc/nginx/sites-available
developer:~$ sudo gedit default

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

640?wx_fmt=png

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

             设备容器,负责运行设备驱动,如下图:

640?wx_fmt=png

          组态建模,负责构建监测视图应用,如下图:

640?wx_fmt=png

           机器学习,负责对多维数据进行数据标记、模型训练、工况预测,如下图:

640?wx_fmt=png


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

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

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

原文链接:https://www.cnblogs.com/lsjwq/p/11655093.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

按照前序遍历和中序遍历构建二叉树

转载自:http://blog.csdn.net/sbitswc/article/details/26433051 Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. There is an example._______7______/ …

刷新:重新发现.NET与未来

是新朋友吗&#xff1f;记得先点蓝字关注我哦&#xff5e;微软在比尔盖茨手中创立并崛起, 成为PC互联网时代的霸主&#xff0c;很多70&#xff0c;80后都有MVP Edi Wang 的体验<“ 当时的微软对我来说就是神的存在。因为我认识电脑到使用电脑的一切几乎都离不开这家伟大的公…

合并区间

题目描述 给出一个区间的集合&#xff0c;请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2: 输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 [4,5]…

程序员修神之路--设计一套RPC框架并非易事

菜菜哥&#xff0c;我最近终于把Socket通信调通了这么底层的东西你现在都会了&#xff0c;恭喜你离涨薪又进一步呀http协议不也是利用的Socket吗可以这么说&#xff0c;http协议是基于TCP协议的&#xff0c;底层的数据传输可以说是利用的socket既然Socket通信会了&#xff0c;那…

GPU Shader 编程基础

转载自&#xff1a;http://www.cnblogs.com/youthlion/archive/2012/12/07/2807919.html 几个基本概念&#xff1a; Vertex buffer&#xff1a;存储顶点的数组。当构成模型的所有顶点都放进vertex buffer后&#xff0c;就可以把vertex buffer送进GPU&#xff0c;然后GPU就可…

Azure pipeline 配置根据条件执行脚本

Azure pipeline 配置根据条件执行脚本Intro我的应用通过 azure pipeline 来做持续集成&#xff0c;之前已经介绍了根据不同分支去打包不同的package&#xff0c;具体的就不再这里详细介绍了&#xff0c;可以参考 Solution来看一下修改之后的 azure-pipelines.yaml 示例配置吧&a…

C# 8 新特性 - 可空引用类型

Nullable Reference Type.在写C#代码的时候&#xff0c;你可能经常会遇到这个错误&#xff1a; 但如果想避免NullReferenceException的发生&#xff0c;确实需要做很多麻烦的工作。 可空引用类型 Null Reference Type 所以&#xff0c;C# 8的可空引用类型就出现了。 C# 8可以让…

统计学习笔记(1) 监督学习概论(1)

原作品&#xff1a;The Elements of Statistical Learning Data Mining, Inference, and Prediction, Second Edition, by Trevor Hastie, Robert Tibshirani and Jerome Friedman An Introduction to Statistical Learning. by Gareth JamesDaniela WittenTrevor Hastie andR…

.NET Core 3.0之深入源码理解ObjectPool(一)

写在前面对象池是一种比较常用的提高系统性能的软件设计模式&#xff0c;它维护了一系列相关对象列表的容器对象&#xff0c;这些对象可以随时重复使用&#xff0c;对象池节省了频繁创建对象的开销。它使用取用/归还的操作模式&#xff0c;并重复执行这些操作。如下图所示&…

Deep Boltzmann Machines

转载自&#xff1a;http://blog.csdn.net/win_in_action/article/details/25333671 http://blog.csdn.net/zouxy09/article/details/8775518 深度神经网络&#xff08;Deep neural network&#xff09; 深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种…

.NET斗鱼直播弹幕客户端(下)

前言在上篇文章中&#xff0c;我们提到了如何使用 .NET连接斗鱼TV直播弹幕的基本操作。然而想要做得好&#xff0c;做得容易扩展&#xff0c;就需要做进一步的代码整理。本文将涉及以下内容&#xff1a;介绍如何使用 ReactiveExtensions&#xff08; Rx&#xff09;&#xff0c…

【 .NET Core 3.0 】框架之十 || AOP 切面思想

本文有配套视频&#xff1a;https://www.bilibili.com/video/av58096866/?p6前言上回《【 .NET Core3.0 】框架之九 || 依赖注入IoC学习 AOP界面编程初探》咱们说到了依赖注入Autofac的使用&#xff0c;不知道大家对IoC的使用是怎样的感觉&#xff0c;我个人表示还是比较可行…

[ASP.NET Core 3框架揭秘] 跨平台开发体验: Docker

对于一个 .NET Core开发人员&#xff0c;你可能没有使用过Docker&#xff0c;但是你不可能没有听说过Docker。Docker是Github上最受欢迎的开源项目之一&#xff0c;它号称要成为所有云应用的基石&#xff0c;并把互联网升级到下一代。Docker是dotCloud公司开源的一款产品&#…

统计学习笔记(4) 线性回归(1)

Basic Introduction In this chapter, we review some of the key ideas underlying the linear regression model, as well as the least squares approach that is most commonly used to fit this model. Basic form: “≈” means “is approximately modeled as”, to …

敏捷这么久,你知道如何开敏捷发布火车吗?

译者&#xff1a;单冰从事项目管理十几年&#xff0c;先后管理传统型项目团队及敏捷创新型团队。负责京东AI事业部敏捷创新、团队工程效率改进及敏捷教练工作。曾经负责手机端京东App项目管理工作5年&#xff0c;带领千人团队实施敏捷转型工作&#xff0c;版本发布从2个月提升为…

Newton Method in Maching Learning

牛顿方法&#xff1a;转自http://blog.csdn.net/andrewseu/article/details/46771947 本讲大纲&#xff1a; 1.牛顿方法(Newton’s method) 2.指数族(Exponential family) 3.广义线性模型(Generalized linear models) 1.牛顿方法 假设有函数&#xff1a;&#xff0c;我们希…

一键分享博客或新闻到Teams好友或频道

在最近的开发者工具更新中&#xff0c;Teams提供了一个Share to Teams的能力&#xff0c;就是在你的网页上面&#xff0c;放置一个按钮&#xff0c;用户点击后&#xff0c;就可以很方便地将当前网页或者你指定的其他网页&#xff0c;分享到Teams好友或频道中。这个开发文档在这…

C#刷遍Leetcode面试题系列连载(3): No.728 - 自除数

点击蓝字“dotNET匠人”关注我哟加个“星标★”&#xff0c;每日 7:15&#xff0c;好文必达&#xff01;前言前文传送门&#xff1a;上篇文章中我们分析了一个递归描述的字符串问题&#xff0c;今天我们来分析一个数学问题&#xff0c;一道除法相关的面试题。今天要给大家分析的…

【.NET Core 3.0】框架之十二 || 跨域 与 Proxy

本文有配套视频&#xff1a;https://www.bilibili.com/video/av58096866/?p8一、为什么会出现跨域的问题跨域问题由来已久&#xff0c;主要是来源于浏览器的”同源策略”。何为同源&#xff1f;只有当协议、端口、和域名都相同的页面&#xff0c;则两个页面具有相同的源。只要…

.NET 时间轴:从出生到巨人

点击上方蓝字关注“汪宇杰博客”“ 自1995年互联网战略日以来最雄心勃勃的事业—— 微软.NET战略, 2000年6月30日”2002-02-13.NET Framework 1.0CLR 1.0Visual Studio .NET关键词&#xff1a;跨语言、托管代码2003-04-24.NET Framework 1.1CLR 1.1Visual Studio 2003关键词&am…