ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

树莓派打卡签到

2022-01-06 09:31:57  阅读:181  来源: 互联网

标签:msmtp 树莓 log 签到 mutt 打卡 com



title: 树莓派打卡签到
mathjax: true
copyright: true
comment: true
date: 2019-12-13 09:37:53
tags:

  • 树莓派
  • 自动化
    categories: 树莓派

实习要求:上班和下班必须要签到。我这么懒,实习是肯定要实习的,但是签到嘛,还是要想办法摸摸鱼的啦!


树莓派介绍

树莓派是一款信用卡大小的超小型电脑

那么我们有个大胆的想法,能不能用树莓派实现打卡的心愿呢。好歹也是个计算机,对吧。

树莓派的购买及组装

购买清单

就我实际的使用而言,必需品:一块主板,网线,3个散热片,外壳,电源,16g sd卡,读卡器。

组装部分 https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/4

大家拿着自己的板子(树莓派4)对照着图找就好了

装系统

我这里推荐大家装 Raspbian Buster with desktop 对于官网NOOBS系统我尝试过了,对于我们没有买显示器的而言,不友好,需要额外的操作。

系统下载完成,就需要烧录 这里需要先SD卡格式化,使用 SD Card Formatter(支持windows和mac)

烧录系统到sd卡
这里使用win32Diskimager

链接:https://pan.baidu.com/s/1loQPydCsw9Cam8Us2CbpxQ
提取码:wiis
复制这段内容后打开百度网盘手机App,操作更方便哦

烧录完成,组装完成。设置ssh连接,最新的系统默认是未开启ssh,这里我们需要设置开启ssh。将SD卡连接到电脑上并打开,直接新建“SSH”文件(无后缀)即可

算了,接下来还有网线什么的连接。写起来太长,都还没到主菜。详细的设置大家可以参考
https://blog.csdn.net/weixin_43895902/article/details/100919851#_142

就我出现的几个问题给大家说一下。

    1. ssh连接,我是在学校里,学校网络比较复杂。我是电脑使用无线连接手机热点,树莓派和电脑网线连接。无线网开启共享给有线。cmd中arp-a查看分配的ip,一般树莓派默认是192.168.137.x 默认密码
      raspberry 用户名 pi
    1. 开启的vnc无法显示,这是因为你屏幕的分辨率问题,按教程修改就好
    1. 自己的树莓派下载很慢,这时需要设置软件源
    1. 不推荐大家使用swap分区,会有损sd卡的性能。装完系统默认是开启100mb的sd卡空间提供swap。
    1. 2021发现有一个gui的安装工具,大家google搜索 -树莓派推Raspberry Pi Imager工具- 即可

主菜到了,树莓派签到功能

树莓派直接放在公司里,有电有网,直接就能定位。除了让树莓派自动打卡,我还想让树莓派打卡完成之后给我发一封邮件。一步一步来

设置邮件功能

配置msmtp和mutt自动发送邮件

mutt: 是一个Linux下的邮件程序,Mutt 更像一个文件管理器,只不过它管理的是email
msmtp: 是Linux下一个非常简单易用的smtp客户端

#安装
sudo apt install msmtp mutt
# 配置msmtprc
cd ~               #进入用户根目录
touch msmtp.log        #创建日志文件
chmod 600 msmtp.log    #查看日志
touch .msmtprc         #创建.msmtprc文件
chmod 600 .msmtprc     #msmtprc权限
sudo nano .msmtprc     #添加如下内容


account default
host smtp.163.com    #需要开启163邮箱的SMTP服务
from xxx@163.com     #你的邮箱地址
auth plain
user xxx@163.com     #你的邮箱地址
password your_password   #是SMTP授权码
logfile /root/msmtp.log # 在发送邮件之后程序会把发送日志写到这个路径的文件里



#配置mutt
cd ~
touch .muttrc
sudo nano .muttrc  #添加以下内容,默认填就好了


set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Alpha"  #收件人名字
set from="xxx@163.com"
set editor="vim"

#测试
测试配置文件:msmtp -P
测试smtp服务器:msmtp -S
echo "你好,我是测试用的,谢谢" | mutt -s "你好啊" xxx@163.com

脚本定时/开机自启动

这个要单独列出来一下。因为一个脚本的核心还是自动化,方便实用。

#开机自启动
sudo nano /etc/rc.local
sudo bash /home/pi/sendmail.sh                 #我的sendmail.sh是开机发送自己的ip,文末会贴上
#定时任务
#cron进行定时器
crontab -e         #编译定时任务
// 从左往右:  分 时 日 月 星期 
# m h  dom mon dow   command
30 5   10   3   *   touch /tmp/test.log  // 表示每年3月10号5点30分,执行touch /tmp/test.log
10 18   *   *   *   echo "Hello World" > /home/pi/log  // 每天的18点10分执行echo "Hello World" > /home/pi/log

抓取定位包

image-20211119192556650

我使用的是eteams打卡。

其中服务端做校验的就是sign。其他参数都是固定的。

尝试js中查找sign

image-20211119192056788

image-20211119192126840

image-20211119192741268

image-20211119194231595

encode.js链接: https://pan.baidu.com/s/1pTfADZwpctNxOVYFuSx_pQ 提取码: 2idi

JsParser("encode.js", "signSecret", "web"+uid+ETEAMSID+tenantkey)

至此基本打卡的大概流程走完了。

一些自己使用的脚本:

  • 1.定时ip任务: #!/bin/bash
#!/bin/bash
  
# check network availability
  
# get the IP address of eth0, e.g. "192.168.16.5"
ETH0_IP_ADDR=`/sbin/ifconfig eth0 | sed -n "2,2p" | awk '{print substr($2,1)}'`
  
# send the Email
echo "Current time: `date '+%F %T'`. Enjoy it" | mutt -s "IP Address of Raspberry Pi: $ETH0_IP_ADDR" xxx@163.com

  • 2.报告车况,车辆到站时间
  TODO

标签:msmtp,树莓,log,签到,mutt,打卡,com
来源: https://www.cnblogs.com/howtime/p/15769688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有