树莓派、MQTT(四)

系列文章目录

(一)树莓派、MQTT。 DHT11、MFRC522(一)

(二)树莓派、MQTT。树莓派定时温湿度采集,图片采集(二)

(三)树莓派、MQTT。MQTT数据收发(三)


前言

进入主页查看系列文章

编写主函数,设置开机自启动任务。


一、主函数

main.py

# -*- coding: utf-8 -*-
"""
Created on Wed Apr  6 13:41:37 2022

@author: 嗯哒
"""

import os
import RFID_Read
import time

#开机关闭树莓派WiFi
os.system("sudo ifconfig wlan0 down")

#搜寻RFID卡片
print('Waiting for a Tag Card...')
while True:
    while True:
        if RFID_Read.RFID_Read():
            break
            
    #RFID触发后打开WiFi
    os.system("sudo ifconfig wlan0 up")
    while True:
    	#判断是否加入指定局域网    
        if '192.168.137' in os.popen('ifconfig | grep 192').read():
            break
    
    time.sleep(1)
    #执行发送函数
    os.system("python3 /home/pi/Program/Final_P/Send_All.py")
	
	"""
	#30秒后关闭wifi
	time.sleep(30)
	os.system("sudo ifconfig wlan0 down")
    """

二、设置开机自启动

1、通过systemd配置python开机自启动文件

在etc/systemd/system目录下编写unit文件,文件名要以.service结尾,
sudo nano /home/pi/my_program.service (文件名自定义)
[Unit]
Description=My service
#After=network.target

[Service]
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/python3 -u /home/pi/myled.py
User=pi

[Install]
WantedBy=multi-user.target

2.使用systemd管理服务

#启动服务:
sudo systemctl start my_program.service
#查看服务状态: 
systemctl status my_program.service
#使用journalctl查看该服务的输出:
journalctl -u my_program 
#停止服务: 
sudo systemctl stop my_program.service
#设置开机自启动:
sudo systemctl enable my_program.service
#关闭开机自启动:
sudo systemctl disable my_program.service
#修改或添加配置文件后需要重新加载:
sudo systemctl daemon-reload

总结

树莓派上电开机后,WiFi关闭。打开MQTT服务器,保持接收端代码运行。
RFID触发树莓派发送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值