在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何利用樹莓派Zero實現物聯網打印機的設計

科技觀察員 ? 來源:hackster.io ? 作者:hackster.io ? 2022-04-04 16:35 ? 次閱讀

不久前,我買了一臺舊的、便宜的熱敏收據打印機,我想通過另一種有用的方法來重新利用它。所以我準備將收據打印機用作Alexa(或GoogleHome、Siri等)的IOT打印機。

Pi打印

第一步是讓舊的收據打印機在新的設備中再次實現打印功能。我選擇使用RaspberryPiZeroW作為控制器,因為它價格便宜且體積小。實際上它也足夠小,可以放入收據打印機外殼本身,因此沒有外部連接。

pYYBAGJICqyAZpGzAAGtjOJCVAw111.png

為了讓Pi啟動并運行,我們需要下載RaspbianOS并使用Etcher等程序將其刻錄到microSD卡上。將其與HDMI電纜、鍵盤、鼠標和電源一起插入Pi。

poYBAGJICqiAC56wAAMTv4wfJ7Q970.png

當Pi啟動并進入桌面界面時,您可以通過單擊右上角的無線圖標并選擇無線連接的名稱來連接到無線。然后,如果您右鍵單擊同一個無線圖標,您可以轉到網絡設置并設置靜態IP地址,以便我們可以輕松地通過網絡連接到它。最后,您要單擊主菜單并選擇“Raspbian配置編輯器”,然后在“接口”選項卡下,確保已啟用SSH。然后保存并重新啟動您的Pi。

pYYBAGJICqWARKvVAASHwoqaIjY201.png

要遠程連接到Pi,您需要一個SSH客戶端。Windows系統的話,建議使用Putty客戶端。您可以使用我們之前設置的Pi的靜態IP地址連接到它。然后您就可以使用“pi”作為用戶名和“raspberry”作為密碼登錄。

poYBAGJICp-Acc_mAAJK88BaI3s464.png

接下來展現在我們面前的就是Pi的終端界面,我們要做的第一件事是確保軟件是最新的,所以運行:

pYYBAGJICpyAer9WAAAMD3nUbQM049.png

隨著軟件的更新,我們現在可以安裝ESC-POS打印機軟件和所需的庫。

pYYBAGJICpiATd9ZAABAwNyx8qE352.png

然后我們可以記下一個漂亮的小“HelloWorld”測試腳本。

pYYBAGJICpSAQ5SdAAJmGfT9Ra4660.png

連接到物聯網(第1部分)

如果沒有要打印的東西,打印機會有什么好處?我想啟用從不同互聯網服務打印的功能。一種選擇是選擇特定的互聯網服務,跟蹤他們的API文檔并基于他們的API編寫應用程序。

有一個很棒的網站叫做“IfThisThenThat”,它根據一組標準觸發不同互聯網服務(Alexa、GoogleHome、Gmail、Facebook、Instagram、Twitter等)的操作。例如,“如果”我在Facebook上發帖(this),“那么”給我發一封電子郵件(that)。

poYBAGJICpCAGt0RAAJ1foH2Pc4067.png

所以在前半部分,我注冊了一個免費帳戶,你可以開始為你想要觸發的不同服務創建一個新的“小程序”。我的小程序的“這個”部分將是Alexa。有很多Alexa觸發器可供選擇,但我將選擇顯示“詢問您的購物清單上有什么”的觸發器。我希望它最終可以觸發RaspberryPi上的Python腳本,因此對于腳本的“that”部分,我們要選擇Webhooks。

在Webhooks選項中,我們可以添加一個指向我們的Pi的URL,稍后我們將返回。我們可以將Method字段保留為“Get”,并為內容類型選擇“PlainText”。對于正文字段,單擊“添加成分”并選擇“整個列表”。這會將整個購物清單作為Get請求發送。

pYYBAGJICoyAEeklAAHXZGS9mXI019.png

連接到物聯網(第2部分)

上一步處理“Internet”部分,現在讓我們使用RaspberryPi處理“things”部分。為了與“IfThisThenThat”webhooks小程序進行通信,我們需要在RaspberryPi上設置一個Web服務器。有許多不同的方式來設置Web服務器,但考慮到我最終想要運行Python腳本,我決定使用Python的Flask服務器。

Pi已經預裝了所有的Flask庫,所以我們需要做的就是開始編寫一個測試腳本:

poYBAGJICoiAddhGAAAL0yUxYDU542.png

在其中添加一些提供簡單網頁的代碼。

pYYBAGJICoOAQdBHAACMLk-usVc889.png

現在只需保存程序并使用以下命令運行它:

pYYBAGJICn-AWOtdAAAPQ0-eXaY412.png

您將通過命令響應看到Flask運行的默認端口是端口5000。因此,在Web瀏覽器中,如果您輸入Pi的IP地址:5000,您應該會看到文本“您的Flask服務器正在運行!”

pYYBAGJICnyAHGDyAAFqmnNehKo323.png

我們已經有了測試Python代碼,以及我們的測試Flask服務器。所以接下來我們需要將它們結合起來,并結合一些從我們的Webhook小程序中提取數據的代碼,以能夠打印到我們的收據打印機中。

先創建一個新的Python文件:

poYBAGJICnaAX528AAAMODxHDy0941.png

并在其中添加以下代碼:

#!flask/bin/python

#IMPORTTHEFLASKANDPRINTERLIBRARIES

fromflaskimportFlask,request

fromescpos.printerimportUsb

#ASSIGNVARIABLESFORTHEPRINTERANDFLASK

p=Usb(0x0416,0x5011)

app=Flask(__name__)

#CREATE‘INDEX’PAGE

@app.route(‘/’)

defindex():

return‘YourFlaskserverisworking!’

#CREATE“PAGE”CALLED“LIST”FORPRINTINGALEXASHOPPINGLIST

@app.route(‘/list’)

deflist():

#CAPTURE“GET”DATAFROMIFTTTWEBOOKS

content=request.get_data()

#CONVERTRAWDATATOSTRING

str_content=str(content)

#DIVIDEDATAINTOSEPERATELINES

str_split=str_content.splitlines()

#SEPERATEWORDSBYCOMMAANDADDTOANEWLIST

newlist=[]

forwordinstr_split:

word=word.split(‘,’)

newlist.extend(word)

#REMOVEFORMATTINGMARKS

rmv_marks=[s.strip(“b‘”)forsinnewlist]

#PRINTHEADER

#print(“ShoppingList\n”)

p.text(“ShoppingList:\n”)

#ENUMERATEANDPRINTEACHITEMINLIST

r=1

forxinrmv_marks:

#print(str(r)+“。”+x+“\n”)

p.text(str(r)+“。”+x+“\n”)

r+=1

#RETURNRESULTS

return’x‘

#RUNTHEPROGRAM

if__name__==’__main__‘:

app.run(debug=True,host=’0.0.0.0‘)

您可以運行它以查看它是否返回任何錯誤,但它還不能與我們的webhook一起使用,因為到這一步為止,服務器僅在本地運行。尚無Webhook可連接的外部URL。我們可以在路由器上設置端口轉發,只使用面向外部的IP地址,但這并不是太安全。作為替代方案,我決定選擇NGROK。

使用Ngrok設置外部訪問

Ngrok可以建立與網絡的安全連接,而無需暴露您的外部IP或弄亂端口轉發。注冊一個免費帳戶后,它會為您提供一個授權令牌。然后在您的RaspberryPi上,您可以下載它、解壓縮它、連接您的身份驗證令牌,然后在端口5000上運行它:

pYYBAGJICm6AEVbpAAHn7P12YhY148.png

在結果屏幕上,它會為您提供一個轉發地址(http://random-string.ngrok.io),您可以在我們的Webhook小程序中使用該地址。所以回到“IfThisThenThat”,在URL字段中,輸入您的Ngrok轉發地址并將其指向我們Flask服務器上的“列表”頁面。它應該看起來像這樣

poYBAGJICmmAKEkwAAAVOMhGF34368.png

然后繼續保存更改。

我為了測試它能夠保持Ngrok運行,打開一個新終端,然后運行我們的python腳本。當這兩個項目都運行時,詢問Alexa購物清單上有什么。一兩分鐘后,它應該可以打印出結果。

如果您想立即打印,只需轉到IFTTT上的Applet,然后單擊“立即檢查”。如果一切順利,收據打印機應該會打印出您的購物清單上的內容!

我們需要添加的最后一點代碼是每次Pi啟動時自動啟動ngrok和我們的燒瓶服務器的方法。我們可以通過使我們的Python腳本可執行來輕松地做到這一點:

pYYBAGJICmSACSL4AAAPbXKsPTQ456.png

然后我們可以編輯我們的/etc/rc.local文件,使它看起來像這樣:

poYBAGJICl-ANuLJAACo7zbjMbU020.png

將Pi添加到打印機

我的收據打印機在外殼內有很多空白空間。由于RaspberryPiZero是如此之小,所以我認為將其隱藏在收據打印機中以使其看起來像一個設備會更酷。唯一的問題是收據打印機在12v上運行,而Pi在5v上運行。因此,如果我們只想要一根電源線為它們兩者供電,我們將不得不將12v電源降為5v。

pYYBAGJIClyAaOafAAQ2SBzpnNc445.png

使用7805穩壓器、1uf電容器和10uf電容器,我能夠創建簡單的5v穩壓器,并將其連接到收據打印機的邏輯板上。我將“-”線焊接到公共地線,然后將“+”線焊接到電源開關的“開”側,以便在打開和關閉打印機時Pi會打開和關閉。我使用萬用表進行了測試,以確認輸出對于Pi來說是安全的。然后我焊接了一根微型USB電纜并將其連接到Pi。將電纜插入打印機并翻轉開關后,打印機和Pi都打開了!

pYYBAGJICleAfccaAAKCTXK_s9U210.png

最后,我鉆了一個孔,將USB電纜從Pi連接到打印機。我找到了一個將5v穩壓器和Pi放入打印機外殼的地方,然后我將所有東西放回原處。所以現在打印機也有它自己的獨立網絡服務器了!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2927

    文章

    45964

    瀏覽量

    388849
  • 打印機
    +關注

    關注

    10

    文章

    795

    瀏覽量

    46820
  • 樹莓派
    +關注

    關注

    121

    文章

    1956

    瀏覽量

    107049
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    WIZ珍藏 #1:來自Adafruit的IoT(聯網打印機

    項目描述我要介紹一個關于mini打印機的教程,這個打印機可以通過Arduino Uno 和 Ethernet Shield 實現聯網。Ad
    發表于 12-16 10:50

    有沒有用樹莓 香蕉制作3D打印機的教程?

    有沒有用樹莓 香蕉制作3D打印機的教程?想自己做個3D打印機 不知有沒有教程
    發表于 12-17 21:11

    樹莓網店票據打印機

    `` 本帖最后由 348081236 于 2016-2-18 18:28 編輯 外網看到的。開網店的可以用這個來打票據。知道有這么個東西就行。第一步:材料收集第二步:連接和組裝第三步:軟件第四步:配置打印機的Gmail賬號第五步:配置樹莓腳本第六步:
    發表于 12-29 11:13

    3D打印樹莓相機(又要3D打印機了)

    +Adafruit PiTFT2.8“TFT320×240+電容式觸摸屏Adafruit功率加大1000充電器Adafruit鋰離子聚合電池 - 3.7V2500mAh的樹莓相機和FFAdafruit
    發表于 12-31 15:14

    樹莓之無線打印機

    ` 本帖最后由 348081236 于 2016-1-6 16:08 編輯 只需要百來塊的樹莓A型、電源、SD卡和USB無線網卡(要能支持Raspbian或其他操作系統)和打印機,你就能得到
    發表于 01-06 16:05

    樹莓3連打印機問題。顯示stopped“Filter failed”

    樹莓派上,是raspbian-jessie。自己安裝了cups,在打印機官網下了linux的驅動,在用cups添加打印機的時候,也看到有驅動,但是后面在打印的時候就這樣了。 自己電腦
    發表于 09-10 15:39

    基于3D打印機樹莓diy家用PC

    如果您只需要一臺能夠打字或者收發電子郵件,以及能夠上網瀏覽信息的計算機,于是為了省錢而打算購買一臺二手計算機的話。天工社告訴您,其實還有更為省錢的辦法,那就是使用樹莓和3D打印機自己造一臺!  
    發表于 07-10 06:26

    如何利用樹莓實現聯網

    如何利用樹莓實現聯網
    發表于 10-19 06:58

    測試打印機

    測試打印機 1. 初始化打印機①初始化打印機打印機的初始化發生在打印機的內部,加電時自動進行。②初始化
    發表于 06-12 23:01 ?1642次閱讀

    什么是熱敏打印機

    什么是熱敏打印機 熱敏打印機圖片 熱敏打印機的原理是,在淡色材料上(通
    發表于 10-13 09:19 ?6015次閱讀

    樹莓網絡打印機

    基于樹莓的網絡打印機
    發表于 04-11 11:44 ?0次下載

    打印機的種類

    本視頻主要詳細介紹了打印機的種類,分別是便攜式打印機、墨倉式(加墨式)打印機、激光打印機、噴墨打印機
    的頭像 發表于 04-11 14:26 ?1.4w次閱讀

    RFID打印機和條碼打印機的區別

    RFID打印機和條碼打印機有哪些區別?用于條碼打印的叫做條碼打印機,RFID打印機就是在一般的條碼打印機
    發表于 08-07 17:37 ?2404次閱讀

    熱敏打印機的設計實現

    熱敏打印機是一種通過對熱敏紙加熱之后顯示文字或圖案的打印機
    的頭像 發表于 07-21 14:32 ?4891次閱讀
    熱敏<b class='flag-5'>打印機</b>的設計<b class='flag-5'>實現</b>

    樹莓“牽手”Formlabs:3D打印機界的“工業新寵”誕生記

    Hey,小伙伴們!今天來給大家講講樹莓和Formlabs這對“科技CP”的甜蜜故事,看看他們是怎么在3D打印領域擦出不一樣的火花,打造出工業級的“硬核”打印機——Form4!
    的頭像 發表于 03-25 09:25 ?259次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“牽手”Formlabs:3D<b class='flag-5'>打印機</b>界的“工業新寵”誕生記
    主站蜘蛛池模板: 美国一级大黄香蕉片 | 偷偷狠狠的日日日日 | 久久国产精品永久免费网站 | 中文字幕一区二区三区视频在线 | 亚洲аv电影天堂网 | 狠狠色丁香久久婷婷综 | 在线资源站 | 免费观看视频在线观看 | 国产精品福利在线观看免费不卡 | 欧美另类v| 日本免费网站在线观看 | 日本色黄 | 成人a毛片免费全部播放 | 一级欧美在线的视频 | 日本三级成人中文字幕乱码 | 天天干天天干天天天天天天爽 | 美女张开腿露尿口给男人亲 | 一级特黄牲大片免费视频 | 国产三级日产三级日本三级 | 精品无码三级在线观看视频 | 中文字幕在线乱码免费毛片 | 久久国产乱子伦精品免费强 | 欧美网站在线 | 国模在线 | 久久综合香蕉久久久久久久 | 日本一卡二卡3卡四卡网站精品 | 伊人久久大香线焦在观看 | 午夜影视免费观看 | 天堂在线中文网 | 精品国产乱码一区二区三区 | 99伊人| 欧美不卡在线视频 | 欧美特黄一免在线观看 | 动漫精品成人免费网站 | 国产精品久久久久影视不卡 | 特黄特色大片免费视频播放 | 免费人成年短视频在线观看免费网站 | 美女被免费网站91色 | 欧美成人 色 图 | 婷婷六月在线 | 男人午夜小视频 |