精华内容
下载资源
问答
  • 树莓派自动浇水,树莓派云灌溉(四)

    千次阅读 2019-07-30 23:39:54
    树莓派自动浇水 0基础实现树莓派云灌溉系统 树莓派云灌溉系统的实现 目录 树莓派相关配置 树莓派简介 the introduction of pi .md 树莓派安装系统并网络连接 How to Set up pi and Networks.md 树莓派...

    树莓派自动浇水

    0基础实现树莓派云灌溉系统

    树莓派云灌溉系统的实现

    目录

    树莓派相关配置

    云服务器相关配置

    • 服务器购买及选择

      • 服务器我购买的是阿里云的轻量级服务器,现在可以使用学生优惠
      • 服务器需要搭一个网站的框架,推荐用flask 我用的是宝塔
      • 使用宝塔只需要看官方教程就够了
    • 端口的开关

      • 需要开一些端口
      • 我开的是这些端口
      • 图片
    • 网站配置

      • 宝塔页面上配置上数据库,ftp,网站。其实刚开始设置宝塔的时候会有提示,按照提示设置lnmp就好了
    • frp 配置树莓派公网ip

      • 这个参考前面内网穿透的教程
    • 前端网页代码

    • 接受树莓派传来的文件

      • 在前端代码里有说明
    • 发送文件

    展开全文
  • 树莓派自动浇水代码 这是在树莓派上运行的最终代码,实现的功能是自动浇水并把相关数据写入文件 文章来源于sogeisetsu的GitHub。 如果喜欢欢迎fork和star树莓派云灌溉系统设计 用python2运行 # coding=UTF-8 #!/usr/...

    树莓派自动浇水代码

    这是在树莓派上运行的最终代码,实现的功能是自动浇水并把相关数据写入文件
    文章来源于sogeisetsu的GitHub。 如果喜欢欢迎fork和star树莓派云灌溉系统设计
    用python2运行

    # coding=UTF-8
    #!/usr/bin/python
    
    import RPi.GPIO as GPIO
    import time
    for i in range (10): #这里设置的是循环十次,在实际应用中可以改为 while True:
        channel = 16  # 引脚号16,这是设置dht11用的
        data = []  # 温湿度值
        j = 0
        # 计数器
        a=20
        GPIO.setmode(GPIO.BCM)  # 以BCM编码格式
    
        time.sleep(1)  # 时延一秒
    
        GPIO.setup(channel, GPIO.OUT)
    
        GPIO.output(channel, GPIO.LOW)
        time.sleep(0.02)  # 给信号提示传感器开始工作
        GPIO.output(channel, GPIO.HIGH)
    
        GPIO.setup(channel, GPIO.IN)
    
        while GPIO.input(channel) == GPIO.LOW:
            continue
    
        while GPIO.input(channel) == GPIO.HIGH:
            continue
    
        while j < 40:
            k = 0
            while GPIO.input(channel) == GPIO.LOW:
                continue
    
            while GPIO.input(channel) == GPIO.HIGH:
                k += 1
                if k > 100:
                    break
    
            if k < 8:
                data.append(0)
            else:
                data.append(1)
    
            j += 1
    
        print "开始工作."
       # print  data  # 输出初始数据高低电平
    
        humidity_bit = data[0:8]  # 分组
        humidity_point_bit = data[8:16]
        temperature_bit = data[16:24]
        temperature_point_bit = data[24:32]
        check_bit = data[32:40]
    
        humidity = 0
        humidity_point = 0
        temperature = 0
        temperature_point = 0
        check = 0
    
        for i in range(8):
            humidity += humidity_bit[i] * 2 ** (7 - i)  # 转换成十进制数据
            humidity_point += humidity_point_bit[i] * 2 ** (7 - i)
            temperature += temperature_bit[i] * 2 ** (7 - i)
            temperature_point += temperature_point_bit[i] * 2 ** (7 - i)
            check += check_bit[i] * 2 ** (7 - i)
    
        tmp = humidity + humidity_point + temperature + temperature_point  # 十进制的数据相加
    
        if check == tmp:  # 数据校验,相等则输出
            print "temperature : ", temperature, ", humidity : ", humidity
            c="温度"+str(temperature)+"."+"/"+"湿度"+str(humidity)
            GPIO.setup(21, GPIO.IN)
            if GPIO.input(21) == GPIO.LOW:#设置土壤湿度传感器
                print "土壤检测结果:潮湿"
                c=c+"\n"+"土壤潮湿"+"\n"+"推荐不要浇水,具体以机器操作为准"
            else:
                print "土壤检测结果:干燥"
                c=c+"\n"+"土壤干燥"+"\n"+"推荐浇水,具体以机器操作为准"
            f=open("123.txt","w+") #将数据写入文件
            f.write(c)
            f.close
            if temperature >= 20:
                print"jiaoshui"
                GPIO.setup(25, GPIO.OUT)#控制继电器
                GPIO.output(25, GPIO.LOW)#这句意义不大,也可以是high,因为电阻不合适无论高低电平都是通路,所以只能采用setup后再cleanup。
                print("3")#我这里设置的是浇水时间3秒
                time.sleep(1.0)
                print("2")
                time.sleep(1.0)
                print("1")
                time.sleep(1.0)
                GPIO.cleanup()
                GPIO.setmode(GPIO.BCM)  # 以BCM编码格式
    
                time.sleep(1)  # 时延一秒
    
                GPIO.setup(channel, GPIO.OUT)
    
                GPIO.output(channel, GPIO.LOW)
        else:  # 错误输出错误信息,和校验数据
            print "出现错误,输出校验结果"
            print "temperature : ", temperature, ", humidity : ", humidity, " check : ", check, " tmp : ", tmp
        time.sleep(2) #每隔2秒检测一次
    
        GPIO.cleanup()  # 重置针脚
    
    展开全文
  • 树莓派自动化测试工具LTF一、框架介绍二.安装自动测试框架LTF1.安装git2.下载LTF三.对树莓派各个项目进行测试1. Languages Test(支持语言测试)2.Filesystems Test(文件系统测试)3.Commamds-all Test(命令测试...

    自动测试框架(Linux-Test-Framework)让我们可以方便、快捷的对我们的树莓派进行性能测试,命令测试,语言测试,开发环境测试,文件系统测试。

    项目github地址:https://github.com/843723683
    

    使用教程:

    一、框架介绍

    LTF(Linux-Test-Framework),LTF是一套自动化测试框架。其中测试框架和测试用例目前大部分使用shell脚本进行编写,目前包含五大测试:性能测试,命令测试,语言测试,开发环境测试,文件系统测试。

    LTF支持在不同体系架构(arm或X86)下运行,支持在bash或dash不同环境下测试,目前在树莓派爱好者基地64位系统,树莓派官方系统,centos1810,kylin3.3-6,ubuntu1904,deepin上进行测试,均能正常使用。

    编程理念:简洁、模块独立。

    二.安装自动测试框架LTF

    1.安装git

    如果你的树莓派安装过git,请直接跳到下一步进行
    如果你的树莓派没有安装过git,请参考网上教程安装。

    2.下载LTF

    在树莓派终端输入如下命令:

    git clone git@github.com:843723683/LTF.git
    

    #如果此步骤失败,请直接将代码下载到电脑中通过WinSCP传到基地64位系统中,也可直接在基地64位系统中下载。

    安装完成后进入LTF文件夹(根据具体目录名称,略有不同),在树莓派终端输入如下命令:

    cd LTF 
    

    根据具体目录名称,略有不同

    基地64位系统,需要提供相应权限,在该目录下输入 如下命令

    chmod a+x Run.sh && chmod a+x lib/gnu-os
    

    三.对树莓派各个项目进行测试

    1. Languages Test(支持语言测试)

    根据github上的帮助文档,在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f languages.xml
    

    得到如下结果,可以看到已经支持的编程语言结果(Result)是TPASS,还不支持的编程语言的结果是是TFAIL:
    在这里插入图片描述

    2.Filesystems Test(文件系统测试)

    在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f filesystems.xml
    

    得到如下结果,
    在这里插入图片描述

    3.Commamds-all Test(命令测试)

    在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f commands-all.xml
    

    得到如下结果,
    在这里插入图片描述

    4 Development Test(开发环境测试)

    在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f development.xml
    

    得到如下结果,
    在这里插入图片描述

    5.Gjb Test(Gjb命令测试)

    在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f gjb.xml
    

    得到如下结果
    在这里插入图片描述

    6. Benchmarks Test(性能测试)

    在LTF目录下对树莓派终端输入:

    sudo ./Run.sh -f benchmarks.xml
    

    等待中:
    在这里插入图片描述
    得到如下结果:
    在这里插入图片描述
    此过程耗时较长(耗时三小时左右),请合理安排时间,测试结果全部输出在LTF目录下的output目录下,这样我们就完成了对树莓派4B的全部测试。

    展开全文
  • pi_bluetooth_auto_connect 设备附近时,将树莓派自动连接到蓝牙设备
  • 树莓派自动连接WiFi

    2020-11-21 16:23:39
    将USB无线网卡插入树莓派任一USB接口,插上网线,接通电源;在个人电脑上通过ssh连接树莓派,默认帐号是pi,默认密码是raspberry(如何通过ssh连接树莓派,请自行网上查找,当然如果树莓派已配备好了键鼠,也可以本...
    1. 将USB无线网卡插入树莓派任一USB接口,插上网线,接通电源;在个人电脑上通过ssh连接树莓派,默认帐号是pi,默认密码是raspberry(如何通过ssh连接树莓派,请自行网上查找,当然如果树莓派已配备好了键鼠,也可以本机操作)。

    2. 连接成功后,用lsusb命令,可以看到:

      树莓派如何配置无线网卡并连接wifi

    3. 可以看到已经识别硬件了,然后再用ifconfig,看到wlan0信息如下:

      树莓派如何配置无线网卡并连接wifi

      1. 然后可以开始配置网络了,修改/etc/network/interfaces文件,把它修改成这个样子

        auto lo
        iface lo inet loopback
        
        auto eth0
        iface eth0 inet dhcp
        
        allow-hotplug wlan0
        auto wlan0
        iface wlan0 inet dhcp
            wpa-ssid YOUR-SSID-HERE
            wpa-psk YOUR-PASSWORD-HERE
        

        主要是添加wpa-ssid和wpa-psk,直接把你要连接的wifi的ssid和对应密码写上就行了。

      2. 重启网络

        /etc/init.d/networking restart
        # or: service networking restart
      3. 自动连接多个WiFi网络

        当你经常切换到不同WiFi网络中时,你可以配置多个WiFi网络,让树莓派能自动连接到可用WiFi网络中。这里就要用到高大上的wpa_supplicant.conf了

        1. 修改/etc/wpa_supplicant/wpa_supplicant.conf,下面是我使用的配置文件:

          ctrl_interface=/var/run/wpa_supplicant
          #ap_scan=1
          
          network={
                 ssid="wo_shi_yige_wifi_ssid"
                 scan_ssid=1
                 psk="wo_shi_mi_ma"
                 priority=5
          }
          
          network={
                 ssid="pi"
                 psk="onlyforpi"
                 priority=1
          }
          
          • **ap_scan:**1是默认值,因此我注掉了
            • 1:这个模式下总是先连接可见的WiFi,如果扫描完所有可见的网络之后都没有连接上,则开始连接隐藏WiFi。
            • 2:会按照network定义的顺序连接WiFi网络,遇到隐藏的将立刻开始连接,因此在这个模式下连接顺序不受priority影响
          • ctrl_interface:这个文件夹里面存的是一个当前使用的interface的socket文件,可以供其他程序使用读取WiFi状态信息
          • network:是一个连接一个WiFi网络的配置,可以有多个,wpa_supplicant会按照priority指定的优先级(数字越大越先连接)来连接,当然,在这个列表里面隐藏WiFi不受priority的影响,隐藏WiFi总是在可见WiFi不能连接时才开始连接。
            • ssid:网络的ssid
            • psk:密码
            • priority:连接优先级,越大越优先
            • scan_ssid:连接隐藏WiFi时需要指定该值为1
        2. 修改/etc/network/interfaces使用wpa_supplicant.conf来配置无线网络

          auto lo
          iface lo inet loopback
          
          auto eth0
          iface eth0 inet dhcp
          
          allow-hotplug wlan0
          auto wlan0
          iface wlan0 inet dhcp
              pre-up wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B 
          

          以后每次启动时,树莓派都会主动去连接配置文件中预定义的这些wifi网络。

        在这个配置里面有一个ssid=’pi’网络,这是一个最低优先级网络,是用来在陌生网络中配置树莓派的。当处 在一个树莓派配置里面的没有的WiFi网络中时,我会自己创建一个叫pi的WiFi,当其他网络都不可用时,树莓派连到这个网络里,然后我便可以ssh进 树莓派,添加网络配置,然后重启,就可以让树莓派加入到新的网络中。

    展开全文
  • 自动获取RaspberryPi树莓派ip工具
  • 树莓派自动挂载

    2019-10-23 22:39:50
    fuse-utils udevil libspectrum libglib2.0-dev sudo /bin/udevadm control --reload-rules #重新加载Udev规则
  • 树莓派自动校准时间

    2021-02-12 09:35:54
    硬件:树莓派3B 操作系统:RASPBIAN JESSIE LITE 1 #安装NTP 2 sudo apt-get install ntpdate 3 #选择 上海时区 4 sudo dpkg-reconfigure tzdata #同步时间 #添加到/etc/rc.local里面实现开机自启动 sudo ntpdate ...
  • 树莓派自动设置时区

    2019-09-17 16:40:05
    网上说树莓派上没有保持时间的电池,时间是不正确的,奇怪的我的是对的,但时区不对,可能是启动时会自动去网上更新,但要手动调整下时区。可以把下面的命令加到 .profile 的最后,每次登陆时自动设置时区。 TZ='...
  • 通过shell脚本来设置屏幕的分辨率。... 然后按照步骤选择当前设备拥有的屏幕类型,并自动为设备设置分辨率。 git clone https://github.com/yoyojacky/52Pi.git cd ~/52Pi chmod +x restool.sh ./restool.sh ...
  • 断线就需要重新登录,这对一个在桌子底下放着树莓派的人很不友好,为了让我的树莓派一直在线,我计划研究下学校的网络连接机制,找到校园网登陆认证的接口,然后通过定时任务定期调用接口保证网络在线。 找到校园网...
  • 我们可以通过调整“自动驱动器设置”部分中用于检测移动的一些设置来改善行为。 autoZoneCount 这是图像被分割成用于检测的切片数。太高或太低都会导致检测问题。我们发现40到120之间的值最好。 ...
  • 树莓派自动登陆

    2015-07-10 20:28:52
    1:2345:respawn:/sbin/getty --noclear 38400 tty1 换成: 1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 >/dev/tty1 2>&1
  • 树莓派自动启动设置

    万次阅读 2015-08-11 12:18:44
    如果把树莓派(raspberry pi)做成一个电器的话,一上电,必须支持几个动作 1, 自动登录 2, 自动运行startx启动窗口系统 3, 窗口系统启动后,自动运行自定义的程序(一般是应用主界面) 研究了一下,是这样做的 ...
  • 树莓派自动运行程序

    2018-12-03 19:08:18
    Auto Running Programs-Command Line /Pi Operating Systems / Raspbian - Recommended OS / Auto Running Programs-Command Line Adam Auto running applications in the GUI See here Auto running terminal appli...
  • 1. 树莓派ZeroWH(针脚焊接) (100元) 2. DC电池盒(2节装)(1元) 3. 18650锂电池2节(10元) 4. 小水泵(3元) 5. 继电器(3元) 6. 红外避障传感器(2元) 7. 多路DC-DC电压转换模块电源 12V转3.3/5/12V...
  • 树莓派3B网线直连MacMac系统版本:树莓派考录好镜像之后,将Mac连接wifi,用网线将树莓派和Mac连接(此处Mac需要转换器),此处需要设置一下Mac:系统偏好设置-共享-互联网共享-USB 10/100/1000 LAN(打勾)。...
  • 树莓派 自动关闭屏幕解决办法

    千次阅读 2019-06-27 08:49:41
    在目前的新版本的树莓派镜像中2019-04-08-raspbian-stretch.img,需要使用下面的方法禁止屏幕休眠: sudo vi /etc/lightdm/lightdm.conf 取消其中的注释  #xserver-command=X 并修改为 xserver-command=X -s 0...
  • Xenomai + 树莓派 + Linux CNC 这些脚本主要帮助您为 Raspberry Pi 自动构建实时 Xenomai 内核和 Linux CNC。 它们已经在 Debian Wheezy 上进行了测试。 运行 build.sh 然后 makeimage.sh 这会给你一个文件,你...
  • 一、把WIFI网卡插入树莓派的USB口中,用 lsusb命令查看USB设备列表lsusb可以见到USB设备列表中有 "RTL8188CUS 802.11N WLAN Adapter" 的字样说明该USB设备已被系统识别,芯片是RTL8188二、修改 /etc/network/...
  • 树莓派自动登录

    2014-03-07 11:56:18
    原文地址:http://elinux.org/RPi_Debian_Auto_Login
  • 禁止树莓派自动挂载外接硬盘

    千次阅读 2018-07-24 20:25:57
    我有一个树莓派,安装了桌面版的系统,这样其开机自动挂载我的外接移动硬盘。由于其挂载对每个用户都有不同位置,我需要以指定用户挂载到固定位置,所以就修改了fstab文件。我一开始认为这个文件优先级高,会覆盖...
  • 树莓派自动连接WiFi设置

    千次阅读 2019-08-15 12:25:06
    并修改/etc/wpa_supplicant/wpa_supplicant.conf network={ ssid="WIFI_ID" psk="WIFI_passwd" key_mgmt=WPA-PSK priority=10 } network={ ssid="WIFI_ID2" key_mg...
  • 1.打开 dhcpcd.conf sudo nano /etc/dhcpcd.conf     # fallback to static profile on eth0 #interface eth0 #fallback static_eth0 ...3.重启树莓派,将会再次迎来互联网世界。
  • 树莓派自动全屏启动 chromium

    千次阅读 2019-05-25 14:11:27
    cd /home/pi/.config mkdir autostart cd autostart 在[autostart]目录中新建名为my.desktop的文件: sudo vi my.desktop​​ 文件内容: ​[Desktop Entry] Type=Application ​Exec=chromium-browser--disable-...
  • 如果把树莓派(raspberry pi)做成一个电器的话,一上电,必须支持几个动作 1, 自动登录 2, 自动运行startx启动窗口系统 3, 窗口系统启动后,自动运行自定义的程序(一般是应用主界面) 研究了一下,是...
  • 如果把树莓派(raspberry pi)做成一个电器的话,一上电,必须支持几个动作 1, 自动登录 2, 自动运行startx启动窗口系统 3, 窗口系统启动后,自动运行自定义的程序(一般是应用主界面) 研究了一下,是这样做的 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,201
精华内容 880
关键字:

树莓派自动