游戏迷提供最新游戏下载和手游攻略!

<p>树莓派 </p> <p>实时监控站frameLabelStart--frameLabelEnd </p> <p>詹姆斯设计 </

发布时间:2024-10-13浏览:27

第一季实现小车的控制目标

1、实现小车4驱控制

2、实现摄像头实时查看,借助反向代理来完成内外网的通信

3、实现指令通过阿里云微消息队列MQTT来交互

4、设计APP端的控制界面实现

第二季实现目标

1、实现摄头云端控制

2、人脸检测

3、打包容器

4、热体红外+超声波测距+湿度温度

第三季实现目标

思考中。。

第一季开发准备

硬件

开发准备

硬件

  • 树莓派3b+
  • 小车底座
  • L298N电机驱动模块
  • 杜邦线
  • 充电宝
  • 6v~50V电源
  • 树莓派专用摄像头 Raspberry Pi Camera

软件

  • 阿里小程序云应用
  • MJPG-Streamer
  • frp
  • 阿里云微消息队列MQTT
  • 支付宝小程序开发者工具

硬件连接

整体效果

  • 树莓派上电,将充电宝用usb线将树莓派于其连接,可看到树莓派红色指示灯常亮,绿色指示灯闪烁。如果发现红色指示灯忽然熄灭或者亮点很低,请检查充电宝输出电压以及电流是否太低
  • 插入树莓派摄像头,注意不要插反,排线金属侧正对插排口金属侧,插入后扣紧排口
  • gpio与电机驱动模块in口连接。这边我们选择GPIO5、GPIO6、GPIO12、GPIO13、GPIO19、GPIO16、GPIO26、GPIO20 (GIPIO与针脚值不一致,对应针脚位置请参考下图,针脚39,40的位置在USB口旁边) 与驱动模块的IN1~IN8连接 (连接顺序请自行调整,驱动模块IN1的数字量输入控制OUT1输出,OUT1-OUT2如果连接同一个电机的输入和输出端,那么IN1-IN2对应输入数字信号[1,0]则代表前进,[0,1]代表后退,[0,0]或者[1,1]代表停止,以此类推IN1~IN8,OUT1~OUT8)
  • 环境部署

    阿里云应用

    云应用是面向小程序应用场景,为开发者提供的一键构建后端应用运行环境、后端服务部署、运维监控等能力的一站式小程序部署服务。

    我们需要申请一个云应用充当小程序的服务器以及fpc服务器。现在阿里推出繁星计划,可以免费申请2个月的测试环境以及一个月的生产环境,无需申请,直接在应用界面新建新运用,创建详情请参考文档

    在控制台获取服务器ip、用户名(默认root)、密码(需要修改默认密码,然后重启服务器),通过SSH工具连接,用于部署下面步骤

    MJPG-Streamer

  • 开启树莓派摄像头
  • 树莓派摄像头总线是默认没开启的,请在命令行中开启,进入后,选择camera项,再选择enable,然后重启
  • sudo raspi-config
  • 安装必要的库
  • sudo apt-get updatesudo apt-get install subversionsudo apt-get install libjpeg8-devsudo apt-get install imagemagicksudo apt-get install libv4l-devsudo apt-get install cmakesudo apt-get install git
  • git开源的project到本地,编译
  • sudo git clone https://github.com/jacksonliam/mjpg-streamer.gitcd mjpg-streamer/mjpg-streamer-experimentalmake allsudo make install
  • 解决V4L driver不支持的问题
  • sudo wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc &&sudo apt-key add ./lrkey.asc

    修改sources.list,在末尾添加源,并安装uv4l uv4l-raspicam,然后重启

    sudo nano /etc/apt/sources.list#末尾添加,保存deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy mainsudo apt-get updatesudo apt-get install uv4l uv4l-raspicamsudo reboot

    重启之后:

    sudo pkill uv4lsudo apt-get updatesudo apt-get install uv4l-uvcsudo apt-get install uv4l-xscreensudo apt-get install uv4l-mjpegstreamsudo reboot

    再一次重启之后开启视频流服务

    sudo modprobe bcm2835-v4l2./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"

    然后打开浏览器输入:http://raspberry-ip-address:8080/?action=stream

    应该就可以看到Raspberry Pi Camera采集的动态视频了,延迟大概不超过0.8秒吧。

    frp

    树莓派

    实时监控站frameLabelStart--frameLabelEnd

    詹姆斯设计

    基于Raspberry Pi的Web监控

    " />

  • 服务端部署 frps
  • 在购买的服务端(有公网IP)部署frps,用于穿透树莓派本地的视频流
  • wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.shchmod 700./install-frps.sh./install-frps.sh install

    然后一直回车(默认配置),知道全部安装完成。安装成功截图

  • 启动frps
  • frps start

    查看frps版本号

    frps -v

    我这边安装的是version 0.20.0,客户端也要安装对应版本的

  • 树莓派部署frpc
  • 由于我们服务器部署frps的版本是version 0.20.0,所以我们本地也要部署相同的版本
  • wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gztar zxvf frp_0.20.1_linux_arm.tar.gzcd frp_0.14.1_linux_armvi frpc.ini

    修改 frpc.ini 文件

    # frpc.ini[common]#服务器IPserver_addr = x.x.x.x#服务器fpcs服务对应端口Bind portserver_port = 5443 #服务端tokenoken = 你的服务端token[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000#[]内名称不能重复,标签作用[web_raspberry_web]type = http#端口号 对应本机视频web服务器的端口local_port = 8080#配置穿透外网访问域名,可设置多个custom_domains = raspberry.你的域名.com

    修改好frpc.ini后,启动frpc客户端。如果想在后台运行,可在命令后加 &

    ./frpc -c frpc.ini

    申请域名解析

    将你的的域名主机记录 raspberry A 记录解析到你的服务器IP x.x.x.x

    服务器部署 Nginx

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

    Ubuntu16.04安装及配置nginx

  • 安装gcc g++的依赖库
  • apt-get install build-essentialapt-get install libtool
  • 安装pcre依赖库
  • sudo apt-get updatesudo apt-get install libpcre3 libpcre3-dev
  • 安装zlib依赖库
  • apt-get install zlib1g-dev

    4.安装ssl依赖库

    apt-get install openssl

    安装nginx

    #下载最新版本:wget http://nginx.org/download/nginx-1.16.0.tar.gz#解压:tar -zxvf nginx-1.11.3.tar.gz#进入解压目录:cd nginx-1.11.3#配置:./configure --prefix=/usr/local/nginx #编辑nginx:make注意:这里可能会报错,提示“pcre.h No such file or directory”,具体详见:http://stackoverflow.com/questions/22555561/error-building-fatal-error-pcre-h-no-such-file-or-directory需要安装 libpcre3-dev,命令为:sudo apt-get install libpcre3-dev#安装nginx:sudo make install#启动nginx:sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。#查看nginx进程:ps -ef|grep nginx

    在浏览器输入 http://raspberry.你的域名.com:8080

    出现页面则nginx部署成功

    配置测试页面

    新建一个index.html文件,用于测试页面,内容如下

    树莓派实时监控站
    树莓派
    实时监控站

    frameLabelStart--frameLabelEnd

    Design by James

    a Web Monitoring Based on Raspberry Pi

    将该文件替换在nginx配置的web路径的index.html文件,例如/var/www/index.html

    在浏览器输入 http://raspberry.你的域名.com:8080

    尝试一下能否访问,如果成功出现树莓派实时监控页面,则web页面部署成功

    阿里云微消息队列MQTT

    微消息队列 MQTT 是阿里云推出的一款面向移动互联网以及物联网领域的轻量级消息中间件,针对移动互联网以及物联网 IoT 场景的消息传输特点,支持了包括 MQTT、STOMP、GB-808、新能源国标等主流通信协议

  • 创建服务
  • 打开MQTT控制台,需要登录阿里云账号,若没账号请自行申请。登录后请根据阿里云mqtt说明书创建mqtt服务。创建完毕后如下图,主要用到参数有 实例id、公网接入点、消息存储实例、Topic、Group
  • 海创物联开发平台部署

    海创开发平台是海创科技有限公司开发的一款快速编程平台,该平台开发的组件能快速与PLC、GPIO、各式设备进行通讯,有丰富的API支持,基本你们想到的事情它都能干,非常适合做物联网的网关控制中心

  • 导入程序
  • 打开海创物联开发平台的控制页 http://树莓派ip:1880/#flow/fd2b8cdb.5b63b
  • 修改节点属性
  • 导入的流程不能直接使用,需要修改一些节点属性配置。
  • PIN控制着电机驱动模块从而控制小车的动作,前进(四个轮子前进)、后退(四个轮子后退)、左转(右侧轮子转)、右转(左侧轮子转)。假设相邻的两个OUT口连接一个电机,那么驱动模块的控制逻辑为

    IN1IN2~数字信号10电机前进数字信号01电机后退数字信号00电机停止数字信号11电机停止

    根据该逻辑配置function节点(示例已包含,请根据自己的接法设置GPIO口的信号输出)

  • 部署调试
  • 点击菜单栏的部署按钮对程序部署,程序正式运行
  • 单击定时器后mqtt out节点会将测试使用的时间戳上传到阿里的mqtt服务器,然后mqtt in会订阅接受到该消息,并在右侧调试窗口输出。正式使用数据请输入0、1、2、3

    使用mqtt发送正式消息,操作结果

    用户评论

    孤自凉丶

    太强了!一直想尝试一下阿里小程序云平台,没想到居然能玩这么酷的东西,打造智能小车?这也太厉害了吧!看完这篇文章,感觉自己也能做一个了。

        有13位网友表示赞同!

    你瞒我瞒

    看了下教程,感觉操作难度并不高,对初学者也比较友好。不过,我比较好奇这个智能小车具体是怎么控制的,有没有人分享一下具体的算法思路呢?

        有16位网友表示赞同!

    最怕挣扎

    我一直觉得小程序云平台越来越强大,功能越来越齐全了。这次开发智能小车,真是又实用又有玩乐性!阿里真的厉害啊!

        有12位网友表示赞同!

    花菲

    讲道理,这个文章讲解得还挺清晰的,而且代码都展示出来了,方便跟着做实验。之前想尝试一下小程序开发,但一直没有找到合适的项目,现在有了灵感了!

        有12位网友表示赞同!

    。婞褔vīp

    打造智能小车?感觉确实挺有意思的,不过我更想知道它有哪些实际应用场景呢?比如在物流、家政方面,智能小车会不会有更多可能性?

        有11位网友表示赞同!

    水波映月

    我一直觉得阿里小程序云平台还是挺棒的,这个教程也做得不错,只是有些复杂的操作步骤,需要耐心去理解。希望以后能有更详细的视频讲解!

        有19位网友表示赞同!

    珠穆郎马疯@

    我尝试了一下,感觉这个智能小车控制的确很灵敏,而且还能根据不同的地形调整速度,真的很酷!看来AI技术越来越成熟了。

        有12位网友表示赞同!

    何必锁我心

    说实话,我是个小白,对小程序云平台不太了解。这篇文章讲得比较专业,对新手来说入门难度比较高,希望能有更基础的教程来引导学习

        有17位网友表示赞同!

    羁绊你

    这个智能小车看起来挺厉害的,不过我担心它的安全性问题呢?万一遇到恶意攻击怎么办?希望开发者能重视这一块!

        有9位网友表示赞同!

    一尾流莺

    这个教程虽然不错,但感觉缺少一些实战案例和应用场景的分析,希望能进一步深入讲解一下,这样更有借鉴意义。

        有20位网友表示赞同!

    寒山远黛

    阿里小程序云平台一直都是我关注的方向,这次开发智能小车的项目真的很有特点!我已经迫不及待想体验一下这个智能小车了。

        有12位网友表示赞同!

    醉枫染墨

    我对这种智能硬件技术很感兴趣,但我不太擅长编程。希望以后能有更多的视觉化教程和工具来帮助我们学习开发小程序,这样每个人都能尝试打造这个智能小车!

        有13位网友表示赞同!

    柠夏初开

    这款智能小车的实际功能性如何?除了演示视频之外,有没有详细的测试报告或使用者评价呢?我想了解它在不同环境下的表现如何。

        有17位网友表示赞同!

    她最好i

    我感觉这篇文章比较侧重于技术讲解,缺乏对用户体验和商业价值的分析。对于开发商来说,还需要考虑目标用户的需求和市场竞争情况。

        有16位网友表示赞同!

    微信名字

    这个智能小车的设计非常新颖,但我更想知道它的成本是多少?能否普及到大众市场来? 如果价格公道的话,我可以尝试购买回来!

        有18位网友表示赞同!

    采姑娘的小蘑菇

    这篇博文让我看到了阿里小程序云平台的巨大潜力!相信在未来会有越来越多开发者利用它打造出更多创意十足的智能产品!

        有18位网友表示赞同!

    青袂婉约

    看完这篇文章,感觉人工智能技术发展真的很迅速!期待看到未来更多基于智能小车技术的创新应用。

        有7位网友表示赞同!

    箜明

    这个阿里小程序云平台挺不错的,可以开发很多有趣的功能,我打算学习一下,看看能不能开发点自己的项目出来。 这篇文章讲解得也很不错,方便新手入门。

        有5位网友表示赞同!

    热点资讯