6.28
继续学习社区大神教程,沈老师写的[M10教程]行空板部署自启动Blynk。

我对代码是一点不懂,所以是照葫芦画瓢,一点一点照着做,昨天第一次折腾,搞到半夜没有成功,也不知道问题出在哪里。
今天上午继续,为了防止前面错误操作的干扰,所以先给M10重装系统,系统升级到了0.4.0。
然后,按照教程一步步操作,成功将Blynk 服务器部署在M10上并设为开机自启动。这样,我就有一个随身的Blynk服务器了。

下面从一个小白的视角,记录一下实操过程。
材料清单
- 行空板M10 X1
- USB线 X1
- 手机及Blynk app X1
1、Mind+,Python模式,加载行空板官方库。

2、连接远程终端,登录行空板10.1.2.3,用户名root,密码dfrobot。

3、更新索引文件
sudo apt-get update

4、安装java
sudo apt install default-jdk


写Y,回车,安装java。
5、获取、修改并上传Blynk-sever服务端
目前已经无法从github获取Blynk服务端,下面附件提供压缩包,下载后自行解压缩,然后网页打开行空板10.1.2.3,将解压后的jar上传文件到/root/upload。
请注意:上传前要修改Blynk-server配置文件
上传前打开jar文件,不必解压,用记事本修改server.properties文件,以下三项,保存更新文件到压缩包
①、修改http.port=8080,8080为SIoT服务端,为防止冲突需自行修改(我当前没有修改这项,而是在行空板中禁用了SIoT,等后面启用SIoT冲突时再做修改)。
②、开启blynk的数据库存储功能,需要修改以下配置,enable.db和enable.raw.db.data.store都设为true。
③、修改默认的管理员账号和密码 admin.email=xxxxx@xxxx.xx ,admin.pass=xxxxxx,记好它,在手机Blynk app第一次注册及退出后再次登录时要用到。
下面是我的设置:



这里是选择整个jar压缩包上传(而不是解压后好多个文件和文件夹上传)。

上传后查看行空板文件系统,可以看到upload下的压缩包(是不是这里建一个upload文件夹,直接拖拽上传进来也可以)。

6、安装并配置PostgreSQL数据库
sudo apt install postgresql postgresql-contrib

7、①、在临时目录创建数据库文件
sudo nano /tmp/create_schema.sql
将参考文件的内容复制然后粘贴,Ctrl+O写入,回车确定保存,Ctrl+X退出。
参考 https://gitee.com/nikhuge/blynk-server/blob/master/server/core/src/main/resources/create_schema.sql
②、在临时目录创建数据库文件
sudo nano /tmp/reporting_schema.sql
将参考文件的内容复制然后粘贴,Ctrl+O写入,回车确定保存,Ctrl+X退出。
参考 https://gitee.com/nikhuge/blynk-server/blob/master/server/core/src/main/resources/reporting_schema.sql
注意:官方提供的配置文件中时间变量的类型为timestamp,默认不带时区,会导致数据库中记录的时间值与当地时间有差值,需要修改该文件。将create_schema.sql文件和reporting_schema.sql中所有的timestamp替换(Ctrl+\)成timestamp with time zone(reporting_schema.sql文件中已有三处为timestamp with time zone,请不要修改)。
方法是将配置文件复制到记事本中查找后替换。
8、数据库管理(这一步没有截屏记录,请按下面步骤操作)
#切换到postgres数据库管理员账号
sudo su postgres
#进入数据库管理界面
psql
#用于创建数据库。根据数据库配置文件,将会创建一个名为blynk的数据库,同时还会创建一个用户名和密码都为test的用户
\i /tmp/create_schema.sql
#退出psql
\q
#进入数据库管理界面
psql
#用于创建数据库。根据数据库配置文件,将会创建一个名为blynk_reporting的数据库,#该数据库用于存放采集用户的所有数据
\i /tmp/reporting_schema.sql
#退出psql
\q
#退出
exit
9、配置Blynk-server自动启动
crontab -e
将下面的语句粘贴到打开的文件最后,Ctrl+O写入,回车确定保存,Ctrl+X退出。
@reboot java -jar /root/upload/server-0.41.17.jar -dataFolder /Blynk &
至此,完成了Blynk-server在行空板的自启动部署,同时将用户的物联网设备连接到Blynk-server产生的数据存储到postgresql的blynk_reporting数据库中,方便读取数据进行分析和可视化。
10、测试
重启M10后(Blynk服务器已经自启动运行),我打开了手机上的Blynk app。
首次使用,点击Create New Account注册新用户。
用户名和密码是刚才配置到server文件中的,服务器填入行空板M10的IP地址。
行空板网络设置,查看IP地址。
OK--Sign Up,完成注册并登录运行在M10上的本地Blynk服务器。
创建一个新项目测试一下,主控随便选。
选择不再显示授权码发送邮箱,咱直接Capy all复制吧。
然后我就在M10测试这个项目中设置了和上一个帖子一样的三个控件(这里不再详述)。
当然要给M10编写程序,让它给通过运行在M10上的服务器给手机端发送和接收数据。
因为是在探索,所以我给运行Blynk服务器的M10编写了一个测试程序,自己当服务器,又做客户端,行空板就是这么强大。
启动Mind+,python模式。
加载行空板。
加载用户库,库地址:https://gitee.com/qqvihs/python_blynk.git。
写程序
服务器IP用M10Blynk服务器的:192.168.1.106,端口8080。
运行程序,手机端项目启动,收到数据啦。
点击按钮和滑杆,行空收到数据啦。
后面我还测试了这块M10做服务器,另一块M10和手机app做客户端的数据传递。
测试了启用M10服务器的热点,另一块M10和手机接入它的热点进行数据传递。
小结:
M10的本地Blynk服务器和客户端只能在同一无线网络下工作,官方服务器则可以远程物联,不过对于只要近距物联的玩家来说,也足够用了。
最后,再次感谢论坛大神的教程。翻看下载文件,2022年11月就阅读沈老师教程并下载过附件,当时没有搞懂,现在终于完成,谢谢老师。
评论