Skip to content

树莓派;控制电机;控制LED灯;控制USB;监控天气;监控新冠病毒;

License

Notifications You must be signed in to change notification settings

Zhyblx/hellopangbi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hellopangbi

前言

HelloPangBi是一个应用于树莓派控制硬件的Java项目。我寄托于这个项目可以把我在入坑树莓派的成长过程都记录下来。也想通过这个项目来告诉大家不要 局限于现有的资料;也许你也可以通过已有的知识体系,在树莓派“宇宙”中创造出属于你生活圈的伟大应用。

最后,我也期待能有更多热爱树莓派的同学加入在树莓派“宇宙”中来;让当下的生活变的更好。

作品橱窗

avatar avatar avatar avatar avatar avatar avatar

上述图片中展示了HelloPangBi的阶段成果。目前,它在我生活中的主要应用包括:
1.基于中国法定节假日所定制的智能闹铃;
2.监控当天的天气、当前气温和当天最高/低气温(为当天的穿衣保暖做参考);
3.监控杭州地区新冠病毒数据(为出行安全做决策参考);
4.增加丽水、嘉兴地区新冠病毒数据(马上过年了,需要看下老家的情况);
4.接入Siri控制LED灯(后面会通过购入的语音模块,寻找合适的ASR开源项目作自行集成);
5.控制步进电机(为后续的行走机器人作铺垫);

项目文档

####(一)硬件部分

######1.硬件描述 HelloPangBi硬件部分目前集成内容包括:树莓派4(4G版),散热风扇,微雪继电器模块,微雪步进电机驱动板,微雪SM24240步进电机,树莓派3.5寸LCD触摸屏;

######2.驱动说明 驱动安装部分主要是针对微雪继电器模块、微雪步进电机驱动板以及树莓派3.5寸LCD触摸屏。其中,微雪继电器模块和微雪步进电机驱动板需要安装 BCM2835和wiringPi这样我们才可以访问GPIO引脚实现控制树莓派的外接硬件。

安装BCM2835, 打开树莓派终端,并运行以下指令
    wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
    tar zxvf bcm2835-1.68.tar.gz 
    cd bcm2835-1.68/
    sudo ./configure && sudo make && sudo make check && sudo make install
    # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
    
    
安装wiringPi
    sudo apt-get install wiringpi
    #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:
    wget https://project-downloads.drogon.net/wiringpi-latest.deb
    sudo dpkg -i wiringpi-latest.deb
    gpio -v
    # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错


安装3.5 inch 的屏就直接复制下面的内容:
    cd /boot
    sudo tar zxvf LCD-show-160701.tar.gz
    cd LCD-show/
    sudo ./LCD35-show

从3.5寸屏切换回HDMI显示
    cd /boot
    sudo tar zxvf LCD-show-160701.tar.gz
    cd LCD-show/
    sudo ./LCD-hdmi

上述驱动完成安装后,最好重启一下树莓派。重启命令:sudo reboot

####(二)软件部分

项目jar包依赖:pi4j、usb4、datecapsule.jar(自研)、json-20190722.jar、jsoup-1.12.1.jar、sqlite-jdbc-3.30.1.jar

概览(package):

package(包) Description(描述)
gpio 树莓派引脚控制包(输入/输出端口)
lang 项目基础包
usb 树莓派USB控制
hellowindow 可视化程序及项目主入口(main方法)

文档(documentation):

概览(package) Class(名称) Method(方法) parameter(参数) Modifier and Type(返回类型) Description(描述)
gpio StepperMotor getOpenGPIO() --- void 硬件接入步进电机A3A4B3B4端口,实现控制电机启动
gpio StepperMotor getShutDownGPIO() --- void 硬件接入步进电机A3A4B3B4端口,实现控制电机关闭
gpio ControlMotor getControlMotor() --- static void 控制步进电机的运行圈数
usb HelloUSB findDevice(short vendorId, short productId) vendorId:供应商ID;productId:产品编号 Device 查找 USB 设备
usb HelloUSB getDeviceHandle(Device device) device:设备 void 与具体的USB端口实现通信
usb HelloUSB getUSBPowerSupply --- void 控制USB电源
lang WeekMap getWeek(String strWeek) strWeek:星期一~星期天 String 返回星期一~星期天的英文翻译
lang ArtTable --- --- void 此类用于画作晴、云、多云、雨、阵雨、雪等天气图形
lang SarsCovSupervisoryControl getHangZhouSarsCovData() --- String (监控)返回当前杭州新冠病毒当前确认数据
hellowindow TodayWeather getTodayWeather() --- void 展示天气图形化
hellowindow TodayWeather getTemperature() --- String 返回当天气温数据
hellowindow HelloWindow main(String[] args) String[] args static void 程序运行主入口

  • uhubctl是用于控制智能USB集线器上每个端口的USB电源的实用程序。智能集线器定义为实现每端口电源切换的设备

    用法:
    1.列出所有受支持的集线器:uhubctl 2.控制USB端口的电源:uhubctl -a off -p 2 这意味着在默认的智能集线器上运行,并关闭端口2()的电源(-a off或)。支持的动作是/ / (或/ / )。 表示关闭电源,等待一段时间(可通过配置),然后重新打开。端口可以​​是逗号分隔的列表,并且可以用于范围,例如,或,或,或。-a 0-p 2offoncycle012cycle-d-22,42-51-2,5-8

About

树莓派;控制电机;控制LED灯;控制USB;监控天气;监控新冠病毒;

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages