色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用樹(shù)莓派Zero實(shí)現(xiàn)物聯(lián)網(wǎng)打印機(jī)的設(shè)計(jì)

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

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

Pi打印

第一步是讓舊的收據(jù)打印機(jī)在新的設(shè)備中再次實(shí)現(xiàn)打印功能。我選擇使用RaspberryPiZeroW作為控制器,因?yàn)樗鼉r(jià)格便宜且體積小。實(shí)際上它也足夠小,可以放入收據(jù)打印機(jī)外殼本身,因此沒(méi)有外部連接。

pYYBAGJICqyAZpGzAAGtjOJCVAw111.png

為了讓Pi啟動(dòng)并運(yùn)行,我們需要下載RaspbianOS并使用Etcher等程序?qū)⑵淇啼浀絤icroSD卡上。將其與HDMI電纜、鍵盤、鼠標(biāo)和電源一起插入Pi。

poYBAGJICqiAC56wAAMTv4wfJ7Q970.png

當(dāng)Pi啟動(dòng)并進(jìn)入桌面界面時(shí),您可以通過(guò)單擊右上角的無(wú)線圖標(biāo)并選擇無(wú)線連接的名稱來(lái)連接到無(wú)線。然后,如果您右鍵單擊同一個(gè)無(wú)線圖標(biāo),您可以轉(zhuǎn)到網(wǎng)絡(luò)設(shè)置并設(shè)置靜態(tài)IP地址,以便我們可以輕松地通過(guò)網(wǎng)絡(luò)連接到它。最后,您要單擊主菜單并選擇“Raspbian配置編輯器”,然后在“接口”選項(xiàng)卡下,確保已啟用SSH。然后保存并重新啟動(dòng)您的Pi。

pYYBAGJICqWARKvVAASHwoqaIjY201.png

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

poYBAGJICp-Acc_mAAJK88BaI3s464.png

接下來(lái)展現(xiàn)在我們面前的就是Pi的終端界面,我們要做的第一件事是確保軟件是最新的,所以運(yùn)行:

pYYBAGJICpyAer9WAAAMD3nUbQM049.png

隨著軟件的更新,我們現(xiàn)在可以安裝ESC-POS打印機(jī)軟件和所需的庫(kù)。

pYYBAGJICpiATd9ZAABAwNyx8qE352.png

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

pYYBAGJICpSAQ5SdAAJmGfT9Ra4660.png

連接到物聯(lián)網(wǎng)(第1部分)

如果沒(méi)有要打印的東西,打印機(jī)會(huì)有什么好處?我想啟用從不同互聯(lián)網(wǎng)服務(wù)打印的功能。一種選擇是選擇特定的互聯(lián)網(wǎng)服務(wù),跟蹤他們的API文檔并基于他們的API編寫應(yīng)用程序。

有一個(gè)很棒的網(wǎng)站叫做“IfThisThenThat”,它根據(jù)一組標(biāo)準(zhǔn)觸發(fā)不同互聯(lián)網(wǎng)服務(wù)(Alexa、GoogleHome、Gmail、Facebook、Instagram、Twitter等)的操作。例如,“如果”我在Facebook上發(fā)帖(this),“那么”給我發(fā)一封電子郵件(that)。

poYBAGJICpCAGt0RAAJ1foH2Pc4067.png

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

在Webhooks選項(xiàng)中,我們可以添加一個(gè)指向我們的Pi的URL,稍后我們將返回。我們可以將Method字段保留為“Get”,并為內(nèi)容類型選擇“PlainText”。對(duì)于正文字段,單擊“添加成分”并選擇“整個(gè)列表”。這會(huì)將整個(gè)購(gòu)物清單作為Get請(qǐng)求發(fā)送。

pYYBAGJICoyAEeklAAHXZGS9mXI019.png

連接到物聯(lián)網(wǎng)(第2部分)

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

Pi已經(jīng)預(yù)裝了所有的Flask庫(kù),所以我們需要做的就是開(kāi)始編寫一個(gè)測(cè)試腳本:

poYBAGJICoiAddhGAAAL0yUxYDU542.png

在其中添加一些提供簡(jiǎn)單網(wǎng)頁(yè)的代碼。

pYYBAGJICoOAQdBHAACMLk-usVc889.png

現(xiàn)在只需保存程序并使用以下命令運(yùn)行它:

pYYBAGJICn-AWOtdAAAPQ0-eXaY412.png

您將通過(guò)命令響應(yīng)看到Flask運(yùn)行的默認(rèn)端口是端口5000。因此,在Web瀏覽器中,如果您輸入Pi的IP地址:5000,您應(yīng)該會(huì)看到文本“您的Flask服務(wù)器正在運(yùn)行!”

pYYBAGJICnyAHGDyAAFqmnNehKo323.png

我們已經(jīng)有了測(cè)試Python代碼,以及我們的測(cè)試Flask服務(wù)器。所以接下來(lái)我們需要將它們結(jié)合起來(lái),并結(jié)合一些從我們的Webhook小程序中提取數(shù)據(jù)的代碼,以能夠打印到我們的收據(jù)打印機(jī)中。

先創(chuàng)建一個(gè)新的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‘)

您可以運(yùn)行它以查看它是否返回任何錯(cuò)誤,但它還不能與我們的webhook一起使用,因?yàn)榈竭@一步為止,服務(wù)器僅在本地運(yùn)行。尚無(wú)Webhook可連接的外部URL。我們可以在路由器上設(shè)置端口轉(zhuǎn)發(fā),只使用面向外部的IP地址,但這并不是太安全。作為替代方案,我決定選擇NGROK。

使用Ngrok設(shè)置外部訪問(wèn)

Ngrok可以建立與網(wǎng)絡(luò)的安全連接,而無(wú)需暴露您的外部IP或弄亂端口轉(zhuǎn)發(fā)。注冊(cè)一個(gè)免費(fèi)帳戶后,它會(huì)為您提供一個(gè)授權(quán)令牌。然后在您的RaspberryPi上,您可以下載它、解壓縮它、連接您的身份驗(yàn)證令牌,然后在端口5000上運(yùn)行它:

pYYBAGJICm6AEVbpAAHn7P12YhY148.png

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

poYBAGJICmmAKEkwAAAVOMhGF34368.png

然后繼續(xù)保存更改。

我為了測(cè)試它能夠保持Ngrok運(yùn)行,打開(kāi)一個(gè)新終端,然后運(yùn)行我們的python腳本。當(dāng)這兩個(gè)項(xiàng)目都運(yùn)行時(shí),詢問(wèn)Alexa購(gòu)物清單上有什么。一兩分鐘后,它應(yīng)該可以打印出結(jié)果。

如果您想立即打印,只需轉(zhuǎn)到IFTTT上的Applet,然后單擊“立即檢查”。如果一切順利,收據(jù)打印機(jī)應(yīng)該會(huì)打印出您的購(gòu)物清單上的內(nèi)容!

我們需要添加的最后一點(diǎn)代碼是每次Pi啟動(dòng)時(shí)自動(dòng)啟動(dòng)ngrok和我們的燒瓶服務(wù)器的方法。我們可以通過(guò)使我們的Python腳本可執(zhí)行來(lái)輕松地做到這一點(diǎn):

pYYBAGJICmSACSL4AAAPbXKsPTQ456.png

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

poYBAGJICl-ANuLJAACo7zbjMbU020.png

將Pi添加到打印機(jī)

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

pYYBAGJIClyAaOafAAQ2SBzpnNc445.png

使用7805穩(wěn)壓器、1uf電容器和10uf電容器,我能夠創(chuàng)建簡(jiǎn)單的5v穩(wěn)壓器,并將其連接到收據(jù)打印機(jī)的邏輯板上。我將“-”線焊接到公共地線,然后將“+”線焊接到電源開(kāi)關(guān)的“開(kāi)”側(cè),以便在打開(kāi)和關(guān)閉打印機(jī)時(shí)Pi會(huì)打開(kāi)和關(guān)閉。我使用萬(wàn)用表進(jìn)行了測(cè)試,以確認(rèn)輸出對(duì)于Pi來(lái)說(shuō)是安全的。然后我焊接了一根微型USB電纜并將其連接到Pi。將電纜插入打印機(jī)并翻轉(zhuǎn)開(kāi)關(guān)后,打印機(jī)和Pi都打開(kāi)了!

pYYBAGJICleAfccaAAKCTXK_s9U210.png

最后,我鉆了一個(gè)孔,將USB電纜從Pi連接到打印機(jī)。我找到了一個(gè)將5v穩(wěn)壓器和Pi放入打印機(jī)外殼的地方,然后我將所有東西放回原處。所以現(xiàn)在打印機(jī)也有它自己的獨(dú)立網(wǎng)絡(luò)服務(wù)器了!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372777
  • 打印機(jī)
    +關(guān)注

    關(guān)注

    10

    文章

    768

    瀏覽量

    45659
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1706

    瀏覽量

    105607
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    WIZ珍藏 #1:來(lái)自Adafruit的IoT(聯(lián)網(wǎng)打印機(jī)

    項(xiàng)目描述我要介紹一個(gè)關(guān)于mini打印機(jī)的教程,這個(gè)打印機(jī)可以通過(guò)Arduino Uno 和 Ethernet Shield 實(shí)現(xiàn)聯(lián)網(wǎng)。Ad
    發(fā)表于 12-16 10:50

    有沒(méi)有用樹(shù)莓 香蕉制作3D打印機(jī)的教程?

    有沒(méi)有用樹(shù)莓 香蕉制作3D打印機(jī)的教程?想自己做個(gè)3D打印機(jī) 不知有沒(méi)有教程
    發(fā)表于 12-17 21:11

    樹(shù)莓網(wǎng)店票據(jù)打印機(jī)

    `` 本帖最后由 348081236 于 2016-2-18 18:28 編輯 外網(wǎng)看到的。開(kāi)網(wǎng)店的可以用這個(gè)來(lái)打票據(jù)。知道有這么個(gè)東西就行。第一步:材料收集第二步:連接和組裝第三步:軟件第四步:配置打印機(jī)的Gmail賬號(hào)第五步:配置樹(shù)莓腳本第六步:
    發(fā)表于 12-29 11:13

    3D打印樹(shù)莓相機(jī)(又要3D打印機(jī)了)

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

    樹(shù)莓之無(wú)線打印機(jī)

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

    樹(shù)莓3連打印機(jī)問(wèn)題。顯示stopped“Filter failed”

    樹(shù)莓派上,是raspbian-jessie。自己安裝了cups,在打印機(jī)官網(wǎng)下了linux的驅(qū)動(dòng),在用cups添加打印機(jī)的時(shí)候,也看到有驅(qū)動(dòng),但是后面在打印的時(shí)候就這樣了。 自己電腦
    發(fā)表于 09-10 15:39

    樹(shù)莓制作無(wú)線網(wǎng)絡(luò)打印服務(wù)器

    使用網(wǎng)絡(luò)打印機(jī)。目前尚需要將樹(shù)莓的IP設(shè)置為固定IP,且路由器設(shè)置IP與MAC綁定,才能實(shí)現(xiàn)每次通電后即可打印的功能。因系統(tǒng)存儲(chǔ)卡未備份出
    發(fā)表于 08-12 16:07

    基于3D打印機(jī)樹(shù)莓diy家用PC

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

    如何利用樹(shù)莓實(shí)現(xiàn)聯(lián)網(wǎng)

    如何利用樹(shù)莓實(shí)現(xiàn)聯(lián)網(wǎng)
    發(fā)表于 10-19 06:58

    測(cè)試打印機(jī)

    測(cè)試打印機(jī) 1. 初始化打印機(jī)①初始化打印機(jī)打印機(jī)的初始化發(fā)生在打印機(jī)的內(nèi)部,加電時(shí)自動(dòng)進(jìn)行。②初始化
    發(fā)表于 06-12 23:01 ?1540次閱讀

    什么是熱敏打印機(jī)

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

    樹(shù)莓網(wǎng)絡(luò)打印機(jī)

    基于樹(shù)莓的網(wǎng)絡(luò)打印機(jī)
    發(fā)表于 04-11 11:44 ?0次下載

    打印機(jī)的種類

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

    RFID打印機(jī)和條碼打印機(jī)的區(qū)別

    RFID打印機(jī)和條碼打印機(jī)有哪些區(qū)別?用于條碼打印的叫做條碼打印機(jī),RFID打印機(jī)就是在一般的條碼打印機(jī)
    發(fā)表于 08-07 17:37 ?2205次閱讀

    熱敏打印機(jī)的設(shè)計(jì)實(shí)現(xiàn)

    熱敏打印機(jī)是一種通過(guò)對(duì)熱敏紙加熱之后顯示文字或圖案的打印機(jī)
    的頭像 發(fā)表于 07-21 14:32 ?4062次閱讀
    熱敏<b class='flag-5'>打印機(jī)</b>的設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>
    主站蜘蛛池模板: 亚洲国产高清在线观看视频| 日本色女孩影院| 空姐内射出白浆10p| 麻豆免费版| 欧美日韩中文在线字幕视频| 日本一卡2卡3卡四卡精品网站 | 国产精品JK白丝AV网站| 国产麻豆精品久久一二三| 精品丰满人妻无套内射| 凌馨baby| 日本一卡2卡3卡四卡精品网站| 亚洲av欧美在我| 在线免费观看毛片| yellow在线中文| 国产久爱青草视频在线观看| 久久久大香菇| 琪琪SEE色原网色原网站18| 香蕉久久av一区二区三区| 伊人久久大香线蕉综合色啪| 99热在线免费观看| 国产精品无码AV天天爽人妻蜜桃 | 日韩熟女精品一区二区三区| 亚洲高清免费在线观看| 748亚洲大胆国模人体| 风车动漫(p)_在线观看官网| 精品国产麻豆免费人成网站| 欧美嫩freexxxhddvd| 亚州笫一色惰网站| 99精品亚洲| 国产毛A片久久久久久无码| 久久亚洲精品成人| 涩涩视频在线看| 综合网伊人| 国产精品爽爽久久久久久无码| 开心久久激情| 他揉捏她两乳不停呻吟口述| 中文国产在线观看| 国产精品爽爽久久久久久蜜桃网站 | 国产精品成人啪精品视频免费观看| 久久re视频这里精品免费1 | 人禽l交视频在线播放 视频|