电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>创建Bolt IoT支持的文本/语音到莫尔斯编码器

创建Bolt IoT支持的文本/语音到莫尔斯编码器

2022-12-01 | zip | 0.06 MB | 次下载 | 免费

资料介绍

描述

摩尔斯电码是电信中使用的一种方法,用于将文本字符编码为两种不同信号持续时间的标准化序列,称为点和破折号,或滴和达。莫尔斯电码以电报的发明者之一塞缪尔·莫尔斯命名。

如果您想手动编码为 Morse,下面是一个可以派上用场的图表……

pYYBAGNs5e-AdoBEAAAhH0ZtUKA855.png
国际摩尔斯电码表
 

但是,为了现代技术,我创建了 Bolt IoT 支持的文本/语音到莫尔斯编码器,我还将向您展示如何创建它。让我们开始吧!

电路连接

这就是您需要进行电路连接的方式...

 

poYBAGNs5fOAXyGuAADDLPHDUVw769.png
电路连接图
 

 

方法

第 1 步:将电路板放在平坦的表面上。

poYBAGNs5fWAbezdAAApIBUxMgQ573.png
面包板
 

步骤 2:按以下方式连接电阻

pYYBAGNs5fqAOK6LAAA5IXwz9TQ011.png
电阻连接
 

第 3 步:LED 的正极连接到电阻器,将负极连接到电路板的另一侧。

poYBAGNs5f2AG5sbAAA9TZSddhw382.png
LED 贴装
 
poYBAGNs5gCAMY9pAAAbbOsnD6A810.png
LED连接
 

第 4 步:将压电蜂鸣器的正极连接到电路板的正极,将负极连接到负极。

poYBAGNs5gOAZGZVAAApvcmxDvA212.png
蜂鸣器连接
 

第 5 步:现在我们必须按照以下方式进行连接,以便我们可以将蜂鸣器和 LED 的负极引脚连接到 BOLT Wi-Fi 模块的 GND 引脚。

pYYBAGNs5gaAOliIAABieF0l4KQ537.png
LED负极引脚连接
 
poYBAGNs5guAWghPAABxUeWqfeg198.png
蜂鸣器负极引脚连接
 
poYBAGNs5g2AVB5YAABo4cyi8uM848.png
LED 和蜂鸣器负极引脚一起连接到 GND 引脚
 

第 6 步:使用跳线将蜂鸣器的正极引脚连接到 Bolt Wi-Fi 模块上的 Pin-1。

poYBAGNs5hCAf-WyAABn-rN5L3k890.png
蜂鸣器正脚连接
 
pYYBAGNs5hKATAA6AABNGk4YJDI630.png
蜂鸣器正极引脚连接到 Pin-1
 

步骤 7:将与电阻串联的 LED 的正极引脚连接到 BOLT W-Fi 模块的 Pin-0。

poYBAGNs5hWAKCwnAAB2PsNU7n8149.png
LED正极引脚到电阻到引脚0的串联连接
 
pYYBAGNs5hmAP283AABUOys03Zo779.png
Pin-0 使用跨接电缆连接到电阻器和 LED 正极引脚
 

Step8:将Wi-Fi模块接入5V电源,连接云端。

poYBAGNs5hyAcg1JAAA73Jh-5qo591.png
连接电源
 
poYBAGNs5h-AQvVtAAB3X-AH51g495.png
BOLT 开启并连接到 BOLT Cloud
 

接下来是您需要 PyCharm 的编程部分。

连接到代码(在本地计算机上运行 Web 应用程序)

为此,请确保您已安装 PyCharm,并且无论操作系统如何,步骤都保持不变,但这仅在 Windows 10 和 Kali Linux 上进行了测试。

步骤1:在您的计算机上创建一个文件夹并输入它。

poYBAGNs5iGAPRb0AABMzRp0pUU402.png
步骤1
 

第 2 步:在该文件夹中克隆 Morser 存储库。

使用命令:

git clone https://github.com/lankabhedi/morser.git
pYYBAGNs5iSAeTdXAAB_Dsak2UE390.png
克隆 Morser App 存储库
 

第 3 步:在 PyCharm 中打开此目录。

使用命令:

pycharm .
pYYBAGNs5ieABfgtAAI2Zka2Fic629.png
打开 PyCharm
 

第 4 步:打开 Pipfile 并选择安装插件。

poYBAGNs5iuAIX_eAAGT6ogHzfE077.png
安装插件
 
poYBAGNs5i-ARR2WAABaO8hFE-g275.png
接受安装
 

第 5 步:选择终端并运行以下命令。

pip install -r ./morser/requirements.txt
pYYBAGNs5jSANpsyAAJ2zHSv74M306.png
安装应用程序要求
 

第 6 步:在同一终端中,运行以下命令。

python ./morser/app.py
pYYBAGNs5kCAcyCdAAIWRFwGKJk812.png
运行应用程序
 

第 7 步:单击蓝色的 IP 地址,您的应用程序将在您的默认 Web 浏览器中打开。

poYBAGNs5kWASoCOAAIPDz0fbgY222.png
打开网络应用程序
 
pYYBAGNs5kiAXFYYAADPV4AaGuU849.png
莫塞尔
 

输入您的详细信息,然后按“发送到螺栓”。

poYBAGNs5k2AFVFKAABpLyAL17o231.png
成功画面
 

如果您的螺栓设备离线,它将显示错误屏幕。

pYYBAGNs5lGAA4J-AABjARXTsog596.png
错误屏幕
 

连接 IFTTT 由 Google Assistant 控制

出于测试目的,我在 Heroku 上部署了这个应用程序。

网站:http://morser-app.herokuapp.com/

poYBAGNs5lSAKeIKAADYyfOYMkQ209.png
 

我为此开发了一个 API,我们需要将其连接为 IFTTT 网站上的 Webhook。由于我的应用程序托管在“免费层”上,因此您的 API 请求可能会超时。

API 请求的格式为:

https://morser-app.herokuapp.com/api?api_key=bolt-api-key&device_id=bolt-device-id&message=your-message

您需要用您自己的值替换“bolt-api-key”、“device-id”和“your-message”。

根据设备状态,它将为您提供以下输出。

{
"device_status": "offline",
"message_passed": "no",
"morse_code": ""
}
poYBAGNs5lmABQ8kAAAydbO1qIQ473.png
POSTMAN 应用程序的屏幕截图
 
{
"device_status": "online",
"message_passed": "yes",
"morse_code": ".. "
}
pYYBAGNs5luAf3toAAA340ZN7nU384.png
POSTMAN 应用程序的屏幕截图
 

请注意,除非设备打开,否则“morse_code”不会返回任何内容。

要将其与 Google Assistant 一起使用,请按照给定的步骤操作。

第 1 步:登录您的 IFTTT 帐户,然后单击“创建”。

网站:https://ifttt.com/home

pYYBAGNs5mOACfEVAAD99jLaZRY604.png
IFTTT 创建新小程序
 

第 2 步:单击“添加”。

pYYBAGNs5maAFG2GAAEJffvIboc301.png
IFTTT 创建小程序
 

第三步:点击“谷歌助手”。

poYBAGNs5mmADWPmAACWkrrEQyE775.png
选择 Google 助理
 

第 4 步:选择以下选项。

poYBAGNs5m2AUu53AAKA-xfbFWY772.png
成分屏幕
 

第 5 步:输入以下值。

pYYBAGNs5nGAEO2pAACPL0icFUg186.png
触发编辑页面
 

第 6 步:点击“添加”

poYBAGNs5nSAJWDEAAEhV7Gayg0105.png
然后那个页面
 

第 7 步:选择“网络钩子”。

poYBAGNs5neAXJrFAACeYjgy3UY101.png
选择 Webhook
 

第 8 步:选择“发出网络请求”。

pYYBAGNs5nuAY7AUAAEI5C8y-Kk180.png
选择“发出网络请求”
 

第 9 步:将“bolt-api-key”和“device-id”替换为您自己的。

poYBAGNs5n6AKjABAACtCfUfC9M093.png
编辑操作字段
 

第 10 步:选择“继续”。

pYYBAGOIJlyAWHxuAADRmN6SREM733.png
选择“继续”
 

第 11 步:查看并单击“完成”。

poYBAGOIJl-AIbruAADB5aIl3TM010.png
审查并完成
 

您将看到您的小程序,如下所示。

poYBAGOIJmKASdMRAADwGM2o_rc513.png
我的小程序页面
 

命令行应用程序代码

如果您不想使用任何 Web 应用程序并且只想从单个 python 脚本运行它,您可以使用以下代码。

from boltiot import Bolt
import time as t

api_key = input("Enter your API key:")
device_id = input("Enter your Bolt Device ID:")
mybolt = Bolt(api_key, device_id)

MORSE_CODE_DICT = { 'A':'.-', 'B':'-...',
                    'C':'-.-.', 'D':'-..', 'E':'.',
                    'F':'..-.', 'G':'--.', 'H':'....',
                    'I':'..', 'J':'.---', 'K':'-.-',
                    'L':'.-..', 'M':'--', 'N':'-.',
                    'O':'---', 'P':'.--.', 'Q':'--.-',
                    'R':'.-.', 'S':'...', 'T':'-',
                    'U':'..-', 'V':'...-', 'W':'.--',
                    'X':'-..-', 'Y':'-.--', 'Z':'--..',
                    '1':'.----', '2':'..---', '3':'...--',
                    '4':'....-', '5':'.....', '6':'-....',
                    '7':'--...', '8':'---..', '9':'----.',
                    '0':'-----', ', ':'--..--', '.':'.-.-.-',
                    '?':'..--..', '/':'-..-.', '-':'-....-',
                    '(':'-.--.', ')':'-.--.-'}


def encrypt(message):
    cipher = ''
    for letter in message.upper():
        if letter != ' ':
            cipher += MORSE_CODE_DICT[letter] + ' '
        else:
            cipher += ' '

    return cipher

def main():
    message = input("Enter you message:")
    result = encrypt(message.upper())
    print(message.upper())
    print(result)

    mybolt.digitalWrite("1", "LOW")
    mybolt.digitalWrite("1", "HIGH")
    t.sleep(0.01)
    mybolt.digitalWrite("1", "LOW")
    mybolt.digitalWrite("1", "HIGH")
    t.sleep(0.01)
    mybolt.digitalWrite("1", "LOW")
    mybolt.digitalWrite("1", "HIGH")
    t.sleep(0.01)
    mybolt.digitalWrite("1", "LOW")
    mybolt.digitalWrite("1", "HIGH")
    t.sleep(0.01)
    mybolt.digitalWrite("1","LOW")

    for char in result:

        if(char == "-"):
            mybolt.digitalWrite("0", "LOW")
            mybolt.digitalWrite("0", "HIGH")
            t.sleep(3)
            mybolt.digitalWrite("0", "LOW")

        elif(char == "."):
            mybolt.digitalWrite("0", "LOW")
            mybolt.digitalWrite("0", "HIGH")
            t.sleep(1)
            mybolt.digitalWrite("0", "LOW")

        elif(char == " "):
            mybolt.digitalWrite("1", "LOW")
            mybolt.digitalWrite("1", "HIGH")
            t.sleep(0.2)
            mybolt.digitalWrite("1", "LOW")
            t.sleep(0.1)

        else:
            continue


if(__name__ == '__main__'):
    main()

请确保boltiot在终端窗口中使用以下命令安装模块。

pip install boltiot
pYYBAGOIJmWAIPCJAAHMCAi-VHY829.png
安装 BoltIot 模块
 

结论

如果你坚持到底,高五!

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费