其他分享
首页 > 其他分享> > 树莓派打卡签到

树莓派打卡签到

作者:互联网


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


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


树莓派介绍

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

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

树莓派的购买及组装

购买清单

就我实际的使用而言,必需品:一块主板,网线,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

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

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

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

设置邮件功能

配置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)

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

一些自己使用的脚本:

#!/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

  TODO

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