【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
对于智能硬件系统,除了用上位机进行配置之外,对于一些常用的功能,完全可以用网页进行配置。这些设置包括ip设置、端口设置、算法参数的修改、是否恢复出厂设置、系统重启等等。当然,和上位机的专业配置、测试、以及验证相比较,网页进行的配置可以少一点,比如一些简单的配置可以留在网页上面,对于那些需要专业设置的部分,最好还是放到上位机去进行处理。
说到web server,在linux上面这部分内容其实很多。从nginx、lighttpd,都可以进行网页开发的。不过个人觉得还是比较麻烦,对用户不太友好,毕竟一般的智能硬件不需要那么专业的设置,只需要配置参数、设置功能就好了。所以,从这个角度来说,完全可以利用python进行web的开发。个人在这方面也不需要投入太多的时间,而是应该把主要的时间放在业务架构设计和算法实现上面去。
1、选择python+webpy
用python开发功能十分方便,毕竟大部分功能模块python都已经帮助我们做好了。至于python下面具体的web实现,有flask、django、webpy,个人使用webpy比较多。大家可以根据自己的需求和习惯灵活进行选择。
2、安装webpy
在树莓派4b上面安装webpy还是比较简单的,一个sudo命令安装一下就可以了,
sudo apt-get install python3-webpy
3、输入测试代码
确认安装好了webpy代码之后,下面就是找一个测试代码。假设测试代码是page.py,我们只需要把后端代码copy到这个文件就可以了,
import web
# 定义 URL 映射
urls = (
'/', 'index'
)
# 定义处理请求的类
class index:
def GET(self):
return "Hello, World!"
# 创建应用
app = web.application(urls, globals())
if __name__ == "__main__":
app.run()
4、启动page.py
在树莓派4b侧启动page.py就和正常的python程序启动一样,输入下面这行命令即可,
python page.py
不出意外的话,我们就可以在console上面看到这样的打印信息,
feixiaoxing@raspberrypi:~/Desktop/web $ python page.py
http://0.0.0.0:8080/
192.168.0.240:61988 - - [24/Apr/2024 02:54:55] "HTTP/1.1 GET /" - 200 OK
192.168.0.240:61988 - - [24/Apr/2024 02:54:55] "HTTP/1.1 GET /favicon.ico" - 404 Not Found
如果大家在后台看到这样的内容,就代表web server已经跑起来了。
5、pc侧验证
如果后台server启动了,那么在pc侧的浏览器输入http://192.168.0.97:8080,就可以看到相应的网页内容了。至此,webpage已经正常运行起来。
6、前端设计
目前为止,webpy的后端已经ok了,但是前端还没有好。前端主要就是html、css、js的设计。如果内容不多,自己找一些模板来修改下也是可以的。如果想借助于一些第三方库来实现,这个时候可以考虑vue+element ui的形式会好一点,毕竟这样做出来的效果更加好看一点。