0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何为滑板制作一个里程表

454398 来源:工程师吴畏 2019-08-16 11:22 次阅读

步骤1:组件

组件

我使用以下组件来创建此项目:

滑板

电位计

LCD

霍尔效应传感器

10k欧姆电阻器

Raspberry pi

Arduino Nano

跳线(母对母)

跳线(Raspberry Pi)

跳线(公对公)

PCB

RFID扫描仪

RFID徽章

Powerbank

请参阅BillOfMaterials 获取链接和价格

步骤2:接线

如何为滑板制作一个里程表

大厅有3个引脚:一个VCC,一个GND和输出。

接地连接到GND。 VCC到3.3V,本例中的输出转到GPIO 26.一个10K欧姆的电阻将输出拉高。

我使用覆盆子pi和arduino nano之间的USB串行通信来读取徽章。

D9 - 》 RST(复位)

D10 - 》 SDA(SS)(SPI SS)

D11 - 》 MOSI(SPI MOSI)

D12 - 》 MISO(SPI MISO)

D13 - 》 SCK(SPI SCK)

GND - 》 GND

3.3V - 》 3.3V

步骤3:数据库方案

我的数据库有3个表:

用户

会话

数据

每个用户都可以分别跟踪数据。会话有数据,因此您可以知道会话进行时某些点的速度。

步骤4:配置Arduino Nano

首先通过USB电缆将arduino nano放入电脑。选择要上传的正确的arduino和正确的USB端口

接下来我们需要添加用于阅读RFID徽章的库。下载‘rfid-master’并转到草图,包含库,然后添加.ZIP库。转到刚刚下载的zip并使用这个,它会自动安装。下载后我编辑的‘RFID_Read.ino’按ctrl + O添加相同的时间并转到此文件并打开它。

如果您执行了上述所有这些步骤,则可以验证该文件。如果第一次出现问题,请再试一次。如果成功,您可以将其上传到您的arduino。通过使用快捷键ctrl + shift + m,您可以打开串行监视器。您可以在此处测试该文件。如果测试成功,你可以拔掉arduino并将其插入覆盆子pi的usb端口

步骤5:配置Raspberry Pi

In这些步骤我们将把raspberry pi设置为数据库和网络服务器。

在这个例子中我使用用户‘我’如果你使用另一个用户你需要改变配置文件,保持这种想法!

1。创建用户:

创建变量

pieter@rpipieter:~ $ user=me

使用户sudo并添加到所有组

groups=$(id pi -Gn | sed ‘s/^pi //g’ | sed ‘s/ /,/g’)

sudo useradd ${user} -s /bin/bash -m -G ${groups}

sudo sed “s/^pi/${user}/” /etc/sudoers.d/010_pi-nopasswd | sudo tee “/etc/sudoers.d/011_${user}-nopasswd”

sudo passwd ${user}

登录帐户

pieter@rpipieter:~ $ su - me

Password:

me@my-rpi:~$

2。连接WiFi

me@rpipieter:~ $ sudo -i

root@rpipieter:~# echo ‘Password’ | wpa_passphrase ‘Networkname’ 》》 /etc/wpa_supplicant/wpa_supplicant.conf

root@rpipieter:~# wpa_cli -i wlan0 reconfigure

root@rpipieter:~# logout

检查互联网是否正常工作

root@rpipieter:~# wget google.com

第3。使raspberry pi更新并安装所需的软件包

me@my-rpi:~$ sudo apt update

me@my-rpi:~$ sudo apt upgrade

me@rpipieter:~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 git

me@my-rpi:~$ sudo reboot -h now

的4。克隆我的github存储库

me@rpipieter:~ $ git clone https://github.com/PieterThomas/skate-o-meter

me@rpipieter:~ $ cd skate-o-meter/skateometer/

5。制作虚拟环境

虽然执行这些命令会安装很多软件包,但这可能需要一些时间。

me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools wheel virtualenv

me@rpipieter:~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env

(env) me@rpipieter:~/skate-o-meter/skateometer $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi.GPIO

6。创建数据库和用户

我们正在使用mysql数据库

pieter@rpipieter:~/skate-o-meter/skateometer $ cd

pieter@rpipieter:~ $ sudo mysql

然后复制,粘贴这个

GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO ‘som-data’@‘localhost’;

SET PASSWORD FOR ‘som-data’@‘localhost’ = PASSWORD(‘sensor9810’);

select * from mysql.user;

CREATE USER ‘som-admin’@‘localhost’ IDENTIFIED BY ‘admin9810’;

CREATE USER ‘som-web’@‘localhost’ IDENTIFIED BY ‘web9810’;

CREATE USER ‘som-sensor’@‘localhost’ IDENTIFIED BY ‘sensor9810’;

CREATE DATABASE skateometerdb;

GRANT ALL PRIVILEGES ON skateometerdb.* to ‘som-admin’@‘localhost’ WITH GRANT OPTION;

GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO ‘som-web’@‘localhost’;

GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO ‘som-sensor’@‘localhost’;

FLUSH PRIVILEGES;

接下来,我们将添加具有关系的现有数据库方案。

me@rpipieter:~/skate-o-meter/skateometer $ sudo mysql 《 sql/skateometerdb_dump-withoutdata.sql

7。服务

这里我们复制我们的配置文件并重新加载文件夹,以便我们可以启用服务

me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/system

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl daemon-reload

现在我们要去启用服务,这样每次我们启动树莓派时,它们都会自动启动它。

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service

Created symlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service.

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-data.service

Created symlink /etc/systemd/system/multi-user.target.wants/som-data.service → /etc/systemd/system/som-data.service.

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl start som-data.service

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl start som-flask.service

8。 NGINX

me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/nginx /etc/nginx/sites-available/skateometer

me@rpipieter:~/skate-o-meter/skateometer $ sudo rm /etc/nginx/sites-enabled/default

me@rpipieter:~/skate-o-meter/skateometer $ sudo ln -s /etc/nginx/sites-available/skateometer /etc/nginx/sites-enabled/skateometer

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl restart nginx.service

第6步:住房+大厅

住房

首先,我在我的滑板上为LCD,电位器和蜂鸣器打了一个洞。之后我将LCD,电位器和蜂鸣器焊接在PCB上。然后我用RPI的一个跳线,一个40针的跳线。我把一面放在树莓派中,另一半放在我切口,这一面我们将用来焊接。在‘rpi-cable’文件中,你可以看到你需要焊接哪根电线。

对于外壳,我使用了一个旧的曲线盒,我在其中放了一些孔,用于以太网电缆和跳线到进入盒子里。

我用一些螺丝把盒子放在滑板下面。在盒子里面,我安排了一切,所以它适合并且还使用螺丝和一些橡胶来保持一切就位。这样可以更轻松地取出东西。

RFID安装在盒子的灯光上,并用拉链固定,我遇到的一个问题是,有时它没有扫描,但有一些变化我霍尔效应传感器

首先,我在我的车轮上钻了一个洞,并在其中放入一块磁铁。

对于大厅使用3个跳线(男性对男性)我把它们焊接在我的PCB上以及大厅本身。我将霍尔传感器安装在我的卡车上,带有一些拉链。确保磁铁和传感器对齐良好,否则不会始终记录脉冲。

步骤7:启动应用程序

步骤1:

将树莓和移动电源插入。

第2步:

等到程序启动,您可以在液晶显示屏上关注此功能。您将看到IP地址,转到此IP地址。

步骤3:

创建用户,您可以通过注册来完成。您需要扫描徽章以在液晶显示屏上查看徽章的UID。

第4步:

如果您创建了用户,则可以扫描徽章和会话将开始。

第5步:

巡航

第6步:

再次扫描徽章以停止会话

步骤7:

登录以查看您的会话和详细数据来自会话

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 里程表
    +关注

    关注

    1

    文章

    15

    浏览量

    9862
收藏 人收藏

    评论

    相关推荐

    特斯拉迎来里程碑:全球第1000万电驱系统下线

    在科技日新月异的今天,电动汽车行业的领军企业特斯拉再次以非凡的成就震撼全球。8月1日,特斯拉官方宣布了具有历史意义的消息——全球第1000万电驱系统正式下线,标志着特斯拉在电动汽车核心技术的自主研发与规模化生产上迈出了坚实
    的头像 发表于 08-01 16:40 1082次阅读

    何为ESP8266构建自定义盾牌?

    我正在寻找某种如何为ESP8266构建自定义盾牌的指南。 到目前为止,我已经使用 NODEMCU 构建了功能原型,但我现在想简化事情并使其更小。 1. 是否有些书面的、开放的硬件指南 (很好
    发表于 07-08 07:17

    6月份理想汽车累计交付量突破800,000辆 历时54

    据悉,在2024年6月份;理想汽车累计交付量突破800,000辆 ;历时54月;理想汽车成为首个达成80万这个里程碑的造车新势力品牌。  
    的头像 发表于 06-21 11:44 429次阅读

    何为SPI OLED显示屏添加另一个设备?

    SPI 数据接口将图像传送到 OLED 显示屏。使用 UVC 应用说明中的说明操作 UVC 部件。如何为 SPI OLED 显示屏添加另一个设备? 谢谢。
    发表于 05-31 06:18

    何为TC275-SB制作MCAL?

    嗨我通过 TC275 ShiledBudy 学习 AUTOSAR。 我意识到制作 AUTOSAR 时需要 MCAL。 但我不知道如何为 TC275-SB 制作 MCAL。 能给我些指
    发表于 05-29 07:47

    时速高达25公里/小时的电动滑板车,在德国允许吗?(ABE)

    吗?早在2018年,电动滑板车就提出了第批道路审批计划,而在2019年6月,时机实际上已经到来。因此,德国效仿许多其他国家,电动滑板车已经征服了主要城市的街道。
    的头像 发表于 05-11 08:30 485次阅读
    时速高达25公里/小时的电动<b class='flag-5'>滑板</b>车,在德国允许吗?(ABE)

    迈凯伦F1全球最短里程再拍,新东家三年仅行驶23公里

    值得注意的是,该F1在2021年的拍卖中,里程表显示仅行驶了387公里。尽管实际成交价远高于1500万美元的预期,且刷新了当年最昂贵拍卖车型及Gooding & Company拍卖行车展期间最高成交纪录,但在过去三年间,新主人并未对其进行过多驾驶。
    的头像 发表于 04-28 10:11 471次阅读

    德国电动滑板车及电动助力自行车eKFV法规-ABE认证的解决方案

    随着日新月异的发展,世界上许多主要城市的道路变得越发拥挤,人们通常难以快速便捷地找到停车位,由汽车出行变更为骑行通勤成了更多人士的选择。其中作为较为常用的交通工具,电动滑板车及电动助力自行车在便利了
    的头像 发表于 04-03 08:29 2226次阅读
    德国电动<b class='flag-5'>滑板</b>车及电动助力自行车eKFV法规-ABE认证的解决方案

    为什么STM32F3 ADC校准直卡在while(ADC_GetCalibrationStatus(ADC1) != RESET)这个里面?

    不知道为什么ADC校准直卡在while(ADC_GetCalibrationStatus(ADC1) != RESET)这个里
    发表于 03-29 07:05

    爱立信与英特尔携手大力推进Open RAN与人工智能创新

    当前,爱立信-英特尔技术中心(Ericsson-Intel Tech Hub)已成为发展前沿技术和新硬件技术探索的孵化器,并已实现了一个又一个里程碑。
    的头像 发表于 03-17 15:03 1.2w次阅读

    轧机牌坊滑板压亏修复的新方法

    电子发烧友网站提供《轧机牌坊滑板压亏修复的新方法.docx》资料免费下载
    发表于 03-14 16:16 0次下载

    电动滑板车控制器内部电路

    升特36伏滑板车控制器可能坏了,给电不走,转把输出电压正常,电机正常,拆开控制器看内部线路断(之后焊接了),但还不走,看有电阻好像烧了,测量为189Ω,求助大神,这个是坏了了,正常多大阻值呢。
    发表于 02-13 20:37

    马斯克称人类首次植入脑机接口芯片

    近日,马斯克在社交媒体上宣布了个里程碑式的成就:人类首次植入了脑机接口(Neuralink)芯片植入手术,并且恢复良好。
    的头像 发表于 01-31 09:50 736次阅读

    如何使用ESP32和STC51芯片制作小小光立方呢?

    分享用ESP32和STC51芯片,以及0805贴片灯珠,手工焊接制作的小小光立方。
    的头像 发表于 01-09 15:37 1844次阅读
    如何使用ESP32和STC51芯片<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b>小小光立方呢?

    方法|如何为开发板调试新的触摸屏

    方法|如何为开发板调试新的触摸屏
    的头像 发表于 11-30 11:30 873次阅读
    方法|如<b class='flag-5'>何为</b>开发板调试新的触摸屏