TGW是停車場管理系統設計和解決方案的專業人員。
城市變得越來越聰明,我們中的一群人希望他們解決的第一個問題是交通。 交通頭痛的一個原因是停車。 那麼,我們如何解決它?
使用智能停車收費表! 本教程演示如何使用IBM Bluemix和PubNub構建支持IoT的智能停車收費表應用程序的原型。 該應用程序具有三個核心功能: 向駕駛員顯示可用和已採取的停車位的實時視圖,允許駕駛員根據駕駛員的操作 (例如進入和離開停車位) 自動跟蹤計費項目設置和完整代碼RepoThis項目是物聯網愛好者的一個偉大的DIY實驗。
因此,如果您有興趣嘗試一下,請前往GitHub獲取bluemix-parking-meter項目的完整源代碼。 有關從配置硬件到託管和運行應用程序的詳細步驟,請參閱構建說明和自述文件。 要託管此應用程序,您需要創建一個Bluemix和PubNub帳戶。
訪問IBM Bluemix註冊頁面和PubNub附加組件頁面以創建各自的帳戶。 這兩項服務都提供了一個免費的tier帳戶來玩他們的產品。 組件該應用程序有三個組件: 停車管理服務器 (PMS) 監視所有停車位並管理所有用戶的計量和計費。
物聯網硬件平台將停車位連接到PMS,還可以檢測車輛的存在與否。 移動應用程序提供了一個簡單的界面來幫助駕駛員找到空位並管理其停車使用和計費。 硬件平台由Arduino Yun提供動力,並使用超聲波傳感器檢測停車位中是否存在車輛。
PMS實現為在Python上運行的應用程序服務器。 它跟蹤所有設備並管理計費和預訂。 移動應用程序 (也稱為Auto Park) 是基於Cordova和JavaScript的Android應用程序。
PMS應用服務器託管在IBM Bluemix雲平台上,PMS到硬件和PMS到移動應用之間的整個通信由PubNubs實時數據流網絡提供支持。 硬件以下是用於該項目的硬件組件列表: arduino YunHC-SR04超聲波傳感器 (3號 ) 麵包板上的示例設置如下所示: 硬件電路的相關示意圖如下: 硬件有三個功能部分: 主控制器啟用WiFi的Arduino Yun充當控制幾個停車位的主控制器。
它通過超聲波傳感器定期監視並獲取其管轄範圍內每個停車位的狀態。 它還通過PubNub與PMS接口,並發布停車狀態傳感器控制器。 這是Arduino Yun board的內部組件,由ATMega32芯片供電。 它直接與傳感器接口,每隔幾秒鐘運行一個循環,以獲取每個傳感器超聲波傳感器的最新狀態,三個HC-SR04傳感器用於模擬三個停車位。
硬件設置的源代碼在GitHub存儲庫中的yun_pubnub目錄 (用於主控制器) 和device/hcsr04目錄 (用於傳感器控制器) 下可用。 停車管理服務器 (IBM Bluemix) PMS是用Python編寫的,可以作為IBM Bluemix託管服務安裝。 IBM Bluemix為PMS提供了計算能力,以監視硬件設備並為用戶管理停車計量和計費。
此外,您需要將PubNub附加服務與您的IBM Bluemix帳戶相關聯,以便PMS與PubNub一起使用。 請參考README.md中的步驟,以了解如何使用PubNub在Bluemix下設置和託管Python應用程序。
PMS的源代碼位於GitHub存儲庫中的parking-meter目錄下。 移動應用程序是基於Cordova的標準Android應用程序。 它顯示帶有彩色編碼停車位的停車區地圖,以幫助用戶選擇空置空間。
移動應用程序的源代碼位於GitHub存儲庫中的MobileApp目錄下。 PubNubPubNub充當整個系統的通信中間件。 它提供了一個基於雲的實時數據流網絡,該網絡支持70多個sdk,因此它可以使任何設備與Internet上的任何其他設備進行通信。
此應用程序使用三個PubNubs sdk,用於所有組件之間的無縫通信。 這些是: 用於移動appPython SDK的Javascript SDK用於用於Arduino YunThis應用程序依賴於多個PubNub通道來實現組件之間的通信,如下所示: 上圖中的專用通道是指PMS和一個移動應用程序之間的專用通道。 通過PubNub通道交換的所有消息均為JSON格式。
對於每個請求停車預訂的移動應用程序,PMS都會通過此渠道為該特定移動應用程序啟動消息。 所有渠道的意義將在下一節中闡明。 系統操作和場景本系統的完整操作可分為以下五個場景。
場景1: 應用程序初始化當移動應用程序安裝後首次啟動時,它會詢問用戶車輛的車牌/註冊號。 這作為PMS的唯一標識符來跟蹤應用程序以進行計費。 隨後,應用程序向PMS發送請求以獲取所有停車位的狀態。
這用於顯示地圖,其中每個空間用插槽號 (001、002和003) 標識。 以下是在PMS和移動應用程序之間進行消息交換的方式: 來自應用程序的JSON請求包含一個參數RequestType,其值為1,用於指示獲取所有停車位的批量狀態的請求。 來自PMS的JSON響應包含停車位插槽編號作為參數,其狀態為0或1,以指示該空間是空的還是被占用的。
對於移動應用程序中的地圖顯示,當前空置的停車位顯示為綠色,而占用或保留的停車位顯示為紅色。 場景2: 設備狀態更新每當停車位檢測到車輛的存在或不存在時,它會立即向PMS發出信號。 在這裡,001標識空間的插槽識別號,值1表示停車位已被占用。
或者,值為0表示空間為空。 PMS還在全球PubNub頻道parkingapp-resp上中繼此信息,以便所有應用程序都可以更新其停車地圖顯示。 場景3: 預訂請求 & 計費StartA接近空置停車位的用戶可以通過點擊應用程序上所需的空置停車位來提前預訂。
這提示PMS為用戶啟動計費會話。 PMS在其私人頻道上向應用程序發送一條消息,以啟動計費的開始。 除此之外,PMS還會啟動計時器。
以下是此交互中JSON消息的格式的仔細研究: 值為2的參數RequestType指示對保留的請求
此時,PMS停止計時器。 場景5: 計費停止後,當用戶從停車位拉出他的車輛時,硬件設備再次感測到這一點,並向PMS發送狀態更新,指示該空間現在是空的。 在接收到此更新後,PMS為用戶計算賬單,並通過其專用通道向移動應用發送賬單會話停止消息以及賬單詳細信息。
移動應用程序接收到的JSON消息包含賬單詳細信息的參數:
在這種情況下,向用戶收取最低10美元的賬單。 此外,該應用程序不具有在停車期間對用戶進行認證的任何規定 (作為方案4的一部分),以確保預留停車位的用戶是實際將其車輛停放在該空間中的用戶。 對於希望進一步增強此應用程序並使其更接近現實生活的部署的讀者來說,這是一個練習。
我們在構建和使用這個應用程序時玩得很開心,考慮到有相當多的子系統,測試端到端的場景非常有趣。 使用IBM Bluemix & PubNub服務極大地簡化了開發挑戰,因為開發人員可以專注於應用程序邏輯,而不必擔心如何使不同子系統之間的通信工作。 除此之外,這兩種服務都能夠處理大規模的規模,可以利用這些規模來構建類似的現實世界應用程序,這些應用程序需要247的正常運行時間和成千上萬的隨機用戶。
最初發布的所有最新進展和科技新聞都直接發送到您的收件箱? 相關問題我沒有得到谷歌玻璃資源管理器版。
在沒有硬件的情況下嘗試學習Glass dev是徒勞的嗎? 不,您仍然可以在沒有硬件的情況下學習玻璃開發的基礎知識。 完成此操作的主要方法有三種: 1) 訪問鏡像API文檔,進入遊樂場,並開始散列一些代碼。
下載PHP、Java和Python庫,無論你最喜歡哪一個。 熟悉行話和轉換 (時間軸,捆綁包,菜單等)。 閱讀支持文檔 (下面的第二個鏈接),以了解Glass硬件的實際功能。
根據此規範構建一些應用程序。 很快,你會找到一個有硬件的朋友
{"site":{"site_id":2877,"site_type":1,"site_domain":"sztigerwong.com","domain_mode":2,"original_domain":"sztigerwong.com","language_code":"zh-tw","is_init_domain":0,"is_shop":false,"is_ssl":0,"lang_prefix":"/zh-tw","animate_name":"none","compress__ratio":"70,60,60","img__dpi":"true"},"page":{"page_id":773,"page_type":"ai_article_detail","page_code":423,"page_url":"/ai-article/a-diy-tutorial-for-building-an-smart-parking-meter.html","page_source":"","allowAnimat":0,"content_id":210,"content_type":5,"detail_thumb":"https://img.yfisher.com/1612246612273.jpg","detail_title":"構建智能停車收費表的DIY教程","moq":1},"translateList":{"A new item has been added to your Shopping Cart":"新項目已添加到您的購物車中","account":"帳戶","Account Name":"帳戶名稱","Account Number":"帳號","Account is not exists":"帳戶不存在","account security":"帳戶安全","Active Commission":"活躍委員會","Add a review on the product":"在產品上添加審查","Add to":"添加","Add to Cart":"添加到購物車","address book":"地址簿","affiliate links":"會員鏈接","all":"全部","All Orders":"所有訂單","Already commented":"已經評論了","Are you sure to cancel this withdrawal?":"您確定取消此提款嗎?","Are you sure to delete the selected items?":"您是否確定要刪除所選項目?","Are you sure you want to delete it?":"你確定你要刪除它?","Awaiting Payment":"等待付款","Awaiting Shipment":"等待發貨","Back":"後退","Bank Transfer":"銀行轉帳","bank address":"銀行地址","basic information":"基本信息","Buy":"買","Buy Now":"立即購買","bank name":"銀行名稱","city":"城市","Copy successful":"複製成功","Copy failed":"複製失敗","Can Extract":"可以提取","Currency Type":"貨幣類型","Cancel":"取消","Cancel the success":"取消成功","Cancelled":"取消","Choose a country":"選擇一個國家","Choose Coupon":"選擇優惠券","Choose items":"選擇項目","Clear":"清除","Clear Search":"清除搜索","Comment Successful!":"評論成功!","Comment Failed!":"評論失敗了!","Commission Details":"委員會的詳細信息","Commission":"委員會","Commission Status":"佣金狀態","commodity payment":"商品付款","completed":"completed","Completed":"完全的","Condition not met":"條件不符合","Confirm":"確認","Confirm password is inconsistent with new password":"確認密碼與新密碼不一致","Congratulations":"祝賀","Congratulations! You are got a coupon.":"祝賀!你有優惠券。","Congratulations! You are got all coupons.":"祝賀!你得到了所有優惠券。","Continue":"繼續","Continue Shopping":"繼續購物","Copy the code and use it directly in the shopping cart.":"複製代碼並直接在購物車中使用它。","Country":"國家","Coupon code":"優惠卷號碼","Coupon List":"優惠券列表","Date":"日期","days after receiving":"收到幾天后","Design customization":"設計定制","Do not use any discount":"不要使用任何折扣","Earliest":"earl","Export successful":"出口成功","Export failed":"導出失敗","email":"電子郵件","email format does not match":"電子郵件格式不匹配","Estimated Delivery Time":"預計送達時間","Effective Order Count":"有效的訂單計數","Effective Sale Amount":"有效的銷售金額","Expense":"費用","expired":"已到期","export a report?":"導出報告?","Failed to upload files.":"Failed to upload files.","FAQ":"FAQ","Find Parts":"查找零件","for order over":"訂單","Free":"自由","Free Quote & Information Request":"免費報價和信息請求","Free Shipping":"免運費","Get":"得到","Get coupons":"獲得優惠券","Get discount":"獲得折扣","Get it":"得到它","Get it after logging in and use it in the shopping cart.":"登錄並在購物車中使用它後獲取它。","Go to Page":"轉到頁面","Highest Price":"最高的價格","home":"家","Hot Sale":"熱賣","Income":"收入","Incorrect form format":"形式格式不正確","Inquiry":"詢問","join guide":"加入指南","Last 30 days":"最近30天","Last 7 days":"最近7天","Links report":"鏈接報告","Loading":"裝載","Lowest Price":"最低價格","Match Product":"匹配產品","Merchant Free Shipping":"商免費送貨","message":"信息","Most Popular":"最受歡迎","my account":"我的賬戶","my coupons":"我的優惠券","my inquiry":"我的詢問","my orders":"我的訂單","my reviews":"我的評論","my wishlist":"我的收藏","name":"姓名","New Arrival":"新品到貨","Newest":"最新","No Quotation":"沒有報價","No time limit":"沒有時間限制","Not deleted":"沒有刪除","not valid yet":"尚未有效","Off":"離開","Offers and Discounts":"優惠和折扣","ok":"好的","Only DOC,DOCX,PDF,PNG,JPEG and JPG files can be uploaded":"只能上傳DOC,DOCX,PDF,PNG,JPEG和JPG文件","optional":"可選的","order notes":"訂單說明","Order over":"訂單","order id":"訂單ID.","order status":"訂單狀態","order amount":"訂單金額","Orders Report":"訂單報告","Other":"其他","Password contains at least numbers and letters length should be 6-20":"密碼至少包含數字,字母長度應為6-20","Password is invalid":"密碼無效","Password length should be 6-20":"密碼長度應為6-20","Paypal":"Paypal","paypal payment":"PayPal付款","Pending":"待辦的","Pending Commission":"等待委員會","personal info":"個人信息","Please click ’click to continue’ to retry.":"請單擊“單擊繼續”重試。","Please contact customer service for cash withdrawal":"請聯繫客戶服務以獲取現金","Please enter a valid email address":"請輸入有效的電子郵件地址","Please enter the verification code":"請輸入驗證碼","Please login in first":"請先登錄","Please select attribute":"請選擇屬性","Please select country/region":"請選擇國家/地區","Please select superior":"請選擇上級","Please select the number of ratings.":"請選擇評級數量。","Please select your country":"請選擇你的國家","Please upload the invoice file":"請上傳發票文件","Processing":"加工","Product Name":"產品名稱","Please fill in the delivery address before selecting the payment method":"在選擇付款方式之前,請填寫交貨地址","promotion center":"促銷中心","Promotion Link Click Amount":"促銷鏈接點擊金額","Promoted link clicks":"促進鏈接點擊","Promotion Order Count":"促銷訂單計數","Promotion Reports":"促銷報告","read more":"閱讀更多","Received commission":"收到佣金","Refund":"退款","Refuse":"拒絕","Region":"地區","Register Success":"註冊成功","Remittance":"匯款","Reviews":"評論","reports":"報告","Sale ends in":"銷售結束","Save in wishlist":"保存願望清單","Search":"搜索","swift code":"SWIFT代碼","Select how to share":"選擇如何共享","Select premium items to increase your chances of making money":"選擇高級物品以增加賺錢的機會","Share items to your channels.when other purchase a from your link, you can get commission.":"Share items to your channels.when other purchase a from your link, you can get commission.","Share Product":"共享產品","shipment successful":"裝運成功","Shipping":"船運","Shipping Address":"收件地址","Size guide":"規模指南","Small Text":"小文本","Small Title":"小標題","Sort By":"排序方式","Sales Amount":"銷售額","State/Province/Territory":"州/省/地區","Successfully delete":"成功刪除","Successfully save":"保存成功","Thank you for trying":"謝謝您的嘗試","The account has been deactivated, please contact customer service to activate":"該帳戶已停用,請聯繫客戶服務以激活","the content can not be blank":"內容不能為空","The coupon code has been copied and used in the shopping cart.":"優惠券代碼已復制並在購物車中使用。","The file name cannot exceed 100 characters":"文件名不能超過100個字符","The file size cannot exceed 2MB":"文件大小不能超過2MB","The number of withdrawals on the day has been capped":"當天的提款次數已被封頂","The subscription is successful, thank you for your participation":"訂閱成功,謝謝您的參與","The user center is out of service. Please contact customer service":"用戶中心已停止使用。請聯繫客服","There is no amount to withdraw":"沒有撤回的金額","There is no data to export":"沒有數據導出","This is Text":"這是文本","This is title":"這是標題","This transaction has failed.":"此事務失敗。","Time to shop":"是時候購物了","Tips":"提示","To be commented":"被評論","Total":"全部的","Tutorial":"教程","This Supplier/Shipping Company does not deliver to your selected Country/Region.":"這家供應商/航運公司不交付您所選的國家/地區。","Update password success":"更新密碼成功","Upload Image":"上傳圖片","Upload up to 6 pictures":"上傳最多6張圖片","uploading":"上傳","used":"用過的","user center":"用戶中心","Upload Invoice":"上傳發票","valid now":"現在有效","Validity period":"有效期","View Cart & Checkout":"查看購物車","views":"意見","Valid for":"有效","Welcome to the website":"歡迎來到該網站","Western Union":"西聯匯款","When your buyers received and confirmed orders, you can get commission right now!":"當您的買家收到並確認訂單時,您可以立即獲得佣金!","Withdrawal":"退出","Withdrawal success":"戒斷成功","Withdrawal Method":"提取方法","Write a Review":"寫評論","Withdrawal Amount":"提款金額","Yes":"是的","Yesterday":"昨天","You are clicking too fast":"您點擊太快了","You are got a coupon.":"你有優惠券。","You can select a maximum of 90 days":"您最多可以選擇90天","You can withdraw the commission to your Paypal account.":"您可以將佣金撤回您的PayPal帳戶。","You haven’t chosen an address yet":"你還沒有選擇一個地址","You haven’t selected a product yet":"你還沒有選擇過產品","Your rating":"你的評分","Your review":"你的意見","Your shipping address error":"您的送貨地址錯誤"}}