那曲檬骨新材料有限公司

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>無人機應用程序:輻射檢測

無人機應用程序:輻射檢測

2023-06-14 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

這是 Dronesmith Technologies 的 Dronesmith API 的示例項目。Dronesmith API 是一個基于 HTTP 請求的 API,支持軟件優先無人機開發。您可以在 API 中內置的虛擬無人機上測試您的代碼,然后在真實無人機上部署相同的代碼。該項目使用虛擬無人機在虛構的場景中完成任務。

這個項目需要一些 Python 和 HTML/CSS 的基本經驗。

在開始之前,我們建議您查看我們的Dronesmith API 教程

情景

蘇黎世大學一位精神錯亂的物理學教授一直在校園北側的各種建筑物中進行實驗。昨晚,他用放射性材料進行的一項實驗出現了嚴重錯誤,校園變得充滿了放射性。現在由您和您的團隊使用配備輻射傳感器的無人機找到失敗實驗的位置。

任務

構建一個應用程序,讓無人機在校園周圍飛行,同時測量輻射強度水平并識別包含輻射源的建筑物。

提示:輻射強度遵循牛頓反平方定律。

?
pYYBAGNY2kOANeo7AAH1EtD9ICM085.png
?

關于 API

在我們深入了解應用程序的工作原理之前,讓我們先回顧一下 Dronesmith API。無人機的命令采用 HTTP 請求的形式。例如,要檢索無人機的位置,您可以向 URL http://api.dronesmith.io/api/drone/{drone-name}/position發送請求下面是一個使用 Python 模塊請求的 API 調用示例。

import json  
import requests
USER_EMAIL      = 'example@example.com'  
USER_API_KEY    = 'example-api-key'  
DRONE_NAME      = 'prickly_galileo' 
  
headers = { 
   'user-email': USER_EMAIL, 
   'user-key': USER_API_KEY,      
   'Content-Type': 'application/json' 
}   
response = requests.get('http://api.dronesmith.io/api/drone/'+ DRONE_NAME + '/position', headers=headers)   
jsonText = json.loads(response.text)  
print json.dumps(jsonText, indent=2, sort_keys=True)  

此代碼發送一個 GET 請求并打印來自服務器的響應。服務器使用以下 JSON 對象進行響應。

{ 
   "X": 0.004026684,    
   "Y": -0.02161496,   
   "Z": -0.11607925,   
   "Latitude": 47.39774,   
   "Longitude": 8.545593,   
   "Altitude": 0.047, 
   "Heading": 3.95 
} 

一些請求具有 BODY 字段,例如以下起飛命令。

import json  
import requests 
USER_EMAIL      = 'example@example.com'  
USER_API_KEY    = 'example-api-key'  
DRONE_NAME      = 'prickly_galileo'
  
headers = { 
   'user-email': USER_EMAIL, 
   'user-key': USER_API_KEY,      
   'Content-Type': 'application/json' 
}   
# Command drone to takeoff and hover 20 meters above Lat: 47.399091, Lon: 8.549200  
response = requests.post('http://api.dronesmith.io/api/drone/' + DRONE_NAME + '/takeoff', json={          
   "lat": 47.399091,      
   "lon": 8.549200,     
   "altitude": 20 
}, headers=headers)   
jsonText = json.loads(response.text)  
print json.dumps(jsonText, indent=2, sort_keys=True)  

對此起飛請求的響應是以下確認。

{  
   "Command": 22,  
   "Status": "Command accepted.",  
   "StatusCode": 0  
}  

有關更多示例,請參閱我們的API 參考

對于單個 API 請求,使用 Python 或任何腳本語言可能有點麻煩。我們強烈推薦使用Postman API 工具來測試 Dronesmith API 請求。

先決條件

要完成此項目,您需要 Dronesmith API 密鑰。前往api.dronesmith.io請求 API 密鑰。幾分鐘后,您將收到一封包含您的密鑰的電子郵件。

您還需要一個 Google Developers API 密鑰。https://developers.google.com/maps/documentation/javascript/get-api-key

設置 Python

安裝 Python:https ://www.python.org/downloads/release/python-2712/

注意:確保您使用的是 Python 2.7,而不是 Python 3。在命令行中鍵入 python --version 以驗證您的版本。

如果您不熟悉使用 Python,請通過以下兩個入門練習來設置您的開發人員環境:

http://learnpythonthehardway.org/book/ex0.html

http://learnpythonthehardway.org/book/ex1.html

安裝 Python pip 模塊:https ://pip.pypa.io/en/stable/installing/

這應該默認包含在最新的 Python 版本中。

安裝 Python 請求模塊:pip install requests

安裝 Python geopy 模塊:pip install geopy

如果你在 Windows 上,你可能需要運行python -m pip 而不只是 pip。

應用程序

您可以從我們的 Github 下載示例應用程序。

https://github.com/dronesmith/Radiation-Detection-Example

該應用程序命令虛擬無人機在蘇黎世大學校園周圍的路徑上飛行,同時在地圖上繪制路徑。它還顯示沿飛行路徑的每個點的輻射強度值。

當前形式的應用程序將找不到輻射源。您可以根據自己的策略來修改應用程序以查找帶有輻射源的建筑物。

該應用程序由4個文件組成

  • 服務器.py
  • 輻射傳感器.py
  • 用戶帳戶.json
?
poYBAGNY2kaAEJX-AABd_OJIfBE214.png
?

這些文件的主要工作是server.py 在此文件中,啟動了一個通過端口 8080 在 localhost 上運行的 Web 服務器。它提供無人機的當前位置和傳感器數據。

Web 服務器通過發送 Dronesmith API 請求定期檢索無人機的位置和無人機輻射傳感器的強度值。在與網絡服務器不同的線程中,通過發出 Dronesmith API 請求,指示無人機在校園周圍的腳本路徑中飛行。

index.html中,通過向 http//:localhost:8080/data 發送 GET 請求來定期檢索位置和強度值。在每個 GET 請求之后,無人機標記和飛行路徑都會更新,并使用 Google Maps API 在最新位置繪制一個半徑與輻射強度成正比的新圓圈。

文件radiation_sensor.py用作我們的模擬輻射傳感器。該文件定期獲取無人機位置并使用緯度和經度值計算輻射強度值。然后它會更新無人機輻射傳感器的強度場值。在運行server.py文件之前,您需要在單獨的終端中運行此代碼。

JSON 文件user-account.json用于存儲 Dronesmith API 憑據。

Github 項目中還包含一個設置腳本,drone_setup.py,您可以運行該腳本以在您的帳戶上創建具有輻射傳感器對象的虛擬無人機。

運行應用程序

按照以下步驟運行應用程序并查看它的運行情況。

1. 下載或克隆 Github 項目。

https://github.com/dronesmith/Radiation-Detection-Example

2. 將您的電子郵件和 Dronesmith API 密鑰添加到user.json。

將drone_name 字段留空。

3. 將您的 Google Developers API 密鑰添加到index.html

在 HTML 正文中找到包含map.googleapis.com源的腳本,并將您的密鑰添加到 URL 中的密鑰字段。


4. 運行python drone_setup.py

這將在您的帳戶上創建一個新的虛擬無人機并為其添加一個輻射傳感器。

5. 運行并讓它繼續運行。python radiation_sensor.py

6.在另一個終端運行python server.py

7. 訪問http://localhost:8080

您應該會立即看到 Google 地圖視圖。無人機標記將在頁面加載后大約 10 秒內顯示。直到無人機起飛并達到所需高度后,標記才會移動。然后你應該看到無人機在校園里繞了一圈。

?

尋找輻射源

您可以采取許多不同的策略來定位輻射源。您可能對來源的位置有預感并更改無人機路徑以測試您的假設,或者您可能使用花哨的三角測量算法重要的是你在為時已晚之前找到輻射源。

注意:當您準備好檢查您的解決方案時,可以在Radiation_sensor.py文件中找到實際的源緯度和經度。

請告訴我們您尋找輻射源的方法。

祝無人機工匠們好運!

有用的網址

  • SimpleHTTPServer 文檔

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  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次下載  |  免費
威尼斯人娱乐| 澳门赌场攻略| 网上百家乐官网可靠| 波浪百家乐官网测试| 24山向吉凶| 网上有百家乐官网玩吗| 百家乐作弊工具| 博彩网百家乐全讯网| 六合彩生肖| 百家乐官网赌场策略大全| 百家乐投注平台信誉排行| 德州扑克 下载| 大发888秘籍| 将乐县| 百家乐包赢技巧| 太阳城管理网| 合肥百家乐官网赌博机| 百家乐赌博机假在哪里| 千亿娱乐城注册| 网上百家乐官网大转轮| 免费百家乐奥| 新百家乐的玩法技巧和规则| 大发888缺casino组件| 皇冠网219678| LV百家乐官网客户端LV| 大发888游戏平台 送1666元礼金领取lrm | 杰克百家乐官网玩法| 菲彩百家乐的玩法技巧和规则 | 澳门博彩8345cc| 百家乐官网永利娱乐场开户注册| 百家乐百家乐技巧| 双柏县| 网上百家乐有没有假| 太阳城官方网站| 大连百家乐官网商场| 大发888老虎机技巧| 百家乐官网高命中投注| 24山向是什么| 盐城棋牌游戏中心| 新彩百家乐官网的玩法技巧和规则 | 百家乐注码技术打法|