回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

行空板M10搭建自启动Blynk服务器-学习笔记 简单

头像 rzyzzxw 2025.06.28 20 0

6.28

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

image.png

我对代码是一点不懂,所以是照葫芦画瓢,一点一点照着做,昨天第一次折腾,搞到半夜没有成功,也不知道问题出在哪里。

今天上午继续,为了防止前面错误操作的干扰,所以先给M10重装系统,系统升级到了0.4.0。

行空板官方文档-固件烧录

然后,按照教程一步步操作,成功将Blynk 服务器部署在M10上并设为开机自启动。这样,我就有一个随身的Blynk服务器了。

image.png

下面从一个小白的视角,记录一下实操过程。

材料清单

  • 行空板M10 X1
  • USB线 X1
  • 手机及Blynk app X1

1、Mind+,Python模式,加载行空板官方库。

image.png

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

b05175a38ae53d0ce40386843bd3e01.png

3、更新索引文件

sudo apt-get update

144e1032d553c4f53a6eb24cbbb33ac.png

4、安装java

sudo apt install default-jdk

a7f51db70bb4a6dbfec79ea404897d0.png
ba88d3ea2d1179500ed7d73279644cd.png

写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第一次注册及退出后再次登录时要用到。

下面是我的设置:

image.png
image.png
dc53e369f222d89b6f0bb00fd699146.png

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

4a901f2944124c3a018805a6cf7e753.png

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

image.png

6、安装并配置PostgreSQL数据库

sudo apt install postgresql postgresql-contrib

09e1b5912aacbdad5398097f1ff0fa0.png

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注册新用户。

ffd2f6dc714ad0ef158aa81a7a644fd.jpg用户名和密码是刚才配置到server文件中的,服务器填入行空板M10的IP地址。


981b0c0933fa49c4a7f03f2a943a76f.jpg行空板网络设置,查看IP地址。


image.pngb9eccd766531a876d22ba30fa1cc1d1.pngOK--Sign Up,完成注册并登录运行在M10上的本地Blynk服务器。

创建一个新项目测试一下,主控随便选。


a7165541d824a641933e9697974e83e.jpg选择不再显示授权码发送邮箱,咱直接Capy all复制吧。


121b32b7f058a06352a5bdaadf584f5.jpg8498e66bec80ebe4be317eff6789f8d.jpg然后我就在M10测试这个项目中设置了和上一个帖子一样的三个控件(这里不再详述)。

 

当然要给M10编写程序,让它给通过运行在M10上的服务器给手机端发送和接收数据。

因为是在探索,所以我给运行Blynk服务器的M10编写了一个测试程序,自己当服务器,又做客户端,行空板就是这么强大。

启动Mind+,python模式。

加载行空板。

加载用户库,库地址:https://gitee.com/qqvihs/python_blynk.git


image.png写程序

服务器IP用M10Blynk服务器的:192.168.1.106,端口8080。


image.png运行程序,手机端项目启动,收到数据啦。


2a137207fcdd49b3616a1de6039a7b4.jpg点击按钮和滑杆,行空收到数据啦。


32998502860099eeb4dffe6b389d098.pngbd1685e0a0c2b79bafabf7e1122d3a0.jpg后面我还测试了这块M10做服务器,另一块M10和手机app做客户端的数据传递。

测试了启用M10服务器的热点,另一块M10和手机接入它的热点进行数据传递。

 

小结:

M10的本地Blynk服务器和客户端只能在同一无线网络下工作,官方服务器则可以远程物联,不过对于只要近距物联的玩家来说,也足够用了。

 

最后,再次感谢论坛大神的教程。翻看下载文件,2022年11月就阅读沈老师教程并下载过附件,当时没有搞懂,现在终于完成,谢谢老师。

 

评论

user-avatar