【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤 原创 精华

程序员PGone
发布于 2022-4-10 15:04
1.6w浏览
4收藏

【鸿蒙HarmonyOS开发——服务器】上手数字管家服务端——配置详细步骤

如果说鸿蒙“发布”是万里长征的前半段,相信华为已经走完,但在后半段–生态养成,鸿蒙的隐忧是不少的!从那天起,兴龙也有了新的人生目标“志向为华为鸿蒙开发相关做50年的教学事业!”

​ 兴龙是云南省一职业学院的计算机教师。仅用9小时,就完成了OpenHarmony从入门到成功复刻《无感配网——智能台灯》设备、书写《数字管家服务器搭建》教程等过渡。

​ 这份成果,于兴龙对IT领域各种新概念、新技术的时刻关注,他认为,鸿蒙的后半段长征已经启程,不管走得咋样,都将是中国自主科技创新最重要的一步。

​ 并期待着,能在鸿蒙胜利会师“延安”的那一天。

兴龙 Gitee个人主页:

https://gitee.com/niuyouguodidi

步骤一、准备部署环境

​ ①Ubuntu 18.04.4 or 20

​ ②mysql5.7 (难点)

sudo apt install mysql-server
  • 1.

​ ③openjdk/jdk 1.8

sudo apt-get install openjdk-8-jdk
  • 1.

​ ④RabbitMQ 3.6.10 (难点)

​ ⑤IOT云服务

<u>其中2大难点!!特别详细说明:</u>

<u>1、安装mysql5.7:</u>
sudo apt install mysql-server
  • 1.

​ 第一步:设置允许无mima登录;

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  • 1.

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

​ 在[mysqld]中添加 skip-grant-tables

​ 第二步:重启mysql;

service mysql restart
  • 1.

​ 第三步:进入mysql交互模式

mysql -u root -p
  • 1.

​ 然后直接回车就行;

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

​ 第四步:

mysql> use mysql;
mysql>flush privileges;
mysql>UPDATE user SET authentication_string="" WHERE user="root";//先把root密码置为空
mysql>flush privileges;
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Ycm@123nihao';//再重置密码
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

​ 注意:mima格式必须符合要求,不然会报错的;

​ 是要求必须包括大小写,数字和特殊字符;

​ 第五步:quit 退出 mysql 交互模式,去掉之前加的 skip-grant-tables,再重启 mysql;

​ 第六步:之后输入 mysql -u root -p 输入设置的正确mima就能进入 mysql。

2、安装RabbitMQ 3.6.10
<u>①安装Erlang</u>

由于RabbitMQ采用的Erlang语言编写的,故需先安装Erlang。

第一步:在系统中加入 erlang apt 仓库;

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
  • 1.
  • 2.

第二步:修改 Erlang 镜像地址,默认的下载速度特别慢。

vi /etc/apt/sources.list.d/erlang-solutions.list
  • 1.

第三步:把里面默认值替换为

deb https://mirrors.liuboping.com/erlang/ubuntu/ xenial contrib
  • 1.

第四步:更新软件列表

sudo apt-get update
  • 1.

第五步:最后安装Erlang

sudo apt-get install erlang erlang-nox
  • 1.
<u>②安装RabbitMq</u>

第一步:添加rabbitmq的仓库列表配置文件

echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
  • 1.

第二步:加入rabbitmq signing key

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
  • 1.

第三步:更新软件列表

sudo apt-get update
  • 1.

第四步:安装RabbitMq

sudo apt-get install rabbitmq-server
  • 1.

安装完之后rabbitmq默认已启动

。。。。。。Done.
Adding system user `rabbitmq' (UID 116) ...
Adding new user `rabbitmq' (UID 116) with group `rabbitmq' ...
Not creating home directory `/var/lib/rabbitmq'.
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

第六步:启用web管理插件

sudo rabbitmq-plugins enable rabbitmq_management
  • 1.

第七步:重启rabbitmq服务

sudo systemctl restart rabbitmq-server
  • 1.

重启后访问老版本为http://localhost:55672(新版本http://localhost:15672);

默认用户名密码:guest/guest,就可以看到rabbitmq的管理界面;

如下图:

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

③rabbitmq 添加用户以及权限

原因:默认情况下访问rabbitmq的用户名和mima都是guest,这个账户是有限制的,默认只能通过本地网络也就是localhost访问,远程访问受限制。

所以:需要另外新增用户名和mima,并设置相应的权限。

第一步:新增一个用户

rabbitmqctl add_user root root
  • 1.

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

第二步:为root用户设置权限所有权限

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
  • 1.

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

第三步:设置root用户为管理员角色

rabbitmqctl set_user_tags root administrator
  • 1.

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

步骤二、下载代码

git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git
  • 1.

步骤三、申请华为云AK/SK

第一步:登录”华为云“ (https://www.huaweicloud.com/)

第二步:点击“控制台”

第三步:找到“我的凭证”

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

第四步:新增访问密钥

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区说明:

保存之后会有credentials.csv

将文件中的Access Key IdSecret Access Key记录下来;

即为后面要用到的 ak 和 sk ,后面会使用。

第五步:获取appid

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

步骤四、 添加服务、添加转发规则以及配置AMQP

1、创建产品

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

2、点击产品进入到查看产品详情页面

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

3、添加属性

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

4、添加规则

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

5、配置AMQP

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

说明:

点击预置接入凭证,会获得一个Basic_ACCESS-KEY.txt文件;

里面存放有access_keyaccess_code

至此,我们已经活得了如下重要参数:

  1. ak/sk

  2. appid

  3. productid

  4. amqp中的accesse_key和access_code

  5. 规则中的三个队列名称:msgQueue,propertyQueue,statusQueue

步骤五、配置服务器

进入knowledge_demo_smart_home\Server\distschedule-core\src\main\resources目录;
打开application.properties文件;

说明:所有修改内容在步骤四中获得

# mysql数据库配置,需要提前部署和创建distschedule的数据库
# 数据库地址
spring.datasource.url=datasource_url:jdbc:mysql://*****:3306/distschedule?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai 
# 数据库账号
spring.datasource.username=*****
# 数据库mima
spring.datasource.password=****

# 华为IOT云配置,参考上面的介绍,申请IOT云的AK,SK,APPID
cloud.iot.ak=*****
cloud.iot.sk=*****
cloud.iot.appId=*****

# IOT云配置,参考上面的介绍,配置并获取华为IOT云的数据转发队列
cloud.iot.amqp.accessKey= #接入凭证,添加转发目标时,点击接入凭证获取
cloud.iot.amqp.password=  #接入凭证mima,添加转发目标时,点击接入凭证获取
cloud.iot.amqp.queueStatusName=  #设备状态队列名称(不是规则名称)
cloud.iot.amqp.queuePropertyName= #设备属性队列名称(不是规则名称)
cloud.iot.amqp.queueMsgName= #设备消息队列名称(不是规则名称)
cloud.iot.amqp.connectionUrl=amqps://*****.iot-amqps.cn-north-4.myhuaweicloud.com:5671?amqp.vhost=default&amqp.idleTimeout=8000&amqp.saslMechanisms=PLAIN #AMQP连接地址,点击“总览--》平台接入地址”获取


# rabbitmq消息队列,用于手机监听告警信息
spring.rabbitmq.host=*****    # rabbitmq地址
spring.rabbitmq.port=*****    # rabbitmq端口
spring.rabbitmq.username=*****  # rabbitmq用户名
spring.rabbitmq.password=*****   # rabbitmq密mima
spring.rabbitmq.exchange.deviceproperty=deviceproperty_exchange # 消息exchange,可不改。如修改的话,FA侧也需要修改
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

步骤六、编译、服务启动

​ 编译环境:

​ jdk8

​ maven 3.6.3(命令行直接安装)

第一步:进入目录,编译springboot jar包

cd knowledge_demo_smart_home/Server # 按照真实的路径
mvn clean package -Dmaven.test.skip=true  
  • 1.
  • 2.

第二步:执行java命令

java -jar distschedule-core/target/distschedule-core-1.0.0-SNAPSHOT.jar
或
java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar --spring.profiles.active=local
# 按照真实的路径
  • 1.
  • 2.
  • 3.
  • 4.

可执行的jar包位置在:

knowledge_demo_smart_home/Server/distschedule-core/target/distschedule-core-1.0.0-SNAPSHOT.jar`

第三步:浏览器访问http://127.0.0.1:8080/distschedule-api/swagger-ui/index.html (ip地址根据实际情况)

【鸿蒙开发——服务器端】上手数字管家服务端——配置详细步骤-鸿蒙开发者社区

验证服务是否已正常启动;

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-4-11 16:36:13修改
7
收藏 4
回复
举报
7
3
4
3条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

楼主,图好像挂了不少,方便补一下吗

1
回复
2022-4-11 11:56:35
程序员PGone
程序员PGone 回复了 红叶亦知秋
楼主,图好像挂了不少,方便补一下吗

好的!马上就完善!欢迎转发

1
回复
2022-4-11 14:52:15
程序员PGone
程序员PGone

必备资源如下,如有缺,请联系

knowledge_demo_smart_home-master.zip 30.59M 18次下载
MobaXterm_Portable_v21.5.zip 26.03M 63次下载
1
回复
2022-4-11 18:18:42


回复
    相关推荐
    这个用户很懒,还没有个人简介
    觉得TA不错?点个关注精彩不错过
    帖子
    视频
    声望
    粉丝
    社区精华内容