Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

43 Commits

Folders and files

Repository files navigation

BeepBoopSecurity_Project

動機發想

  • 最一開始我們希望可以做一個樂高殺手,顧名思義就是用樂高做的殺手,藏在 MOLI 的角落攻擊他人,把樂高積木射到目標的前面一點點,讓目標採到,聽起來就超好玩的。
  • 但 邱呱呱 覺得實用性不足,於是我們就決定幫樂高殺手招募同伴,感應器殺手跟照相機殺手就來了,他們是一支要保家衛國的隊伍,如果有人想要強行闖入你家的話,就會拍照傳給使用者,讓使用者決定要不要攻擊,這樣就不會有無辜的人受害了,我們樂高殺手是正義的化身。
  • 但我們還是 覺得不滿足,於是我們決定把樂高殺手再進化,因為樂高其實蠻貴的,所以我們把子彈換成橡皮筋,超聰明的!
  • 試想你今天是壞人,想要闖進無辜百姓的家裡偷東西,這時突然有一個東西一直射橡皮筋,勢必會喚起小時候被爸爸拿橡皮筋修理的恐懼,保家衛國任務達成!

功能

  • 當有可疑人士在家門口徘徊或是靠近時,會藉由telegram bot發送可疑人士的照片給屋主,使屋主能夠隨時監控家的安全
  • 屋主可以針對可疑人士發動攻擊(射橡皮筋)

時間

12/18 前

  • 確定主題
  • 樹莓派連接成功,設定完成
  • 找齊需要的設備

12/23

  • 完成 telegram bot 基本設定

12/25 開心的聖誕節

  • 東洲最棒

12/30

  • 完成紅外線偵測的硬體架構與程式
  • 完成影像辨識的硬體架構與程式
  • 完成機械手臂的製作

1/1 開心的跨年

  • 居酒屋好吃

1/4

  • 整合 NXT & Raspberry pi

1/12

  • Telegram 介面優化 ( 註冊command + inline-button)

整體架構

硬體架構

  • Raspberry Pi
  • LEGO MINDSTORMS NXT
  • Webcam
  • 紅外線感測模組

軟體架構

  • Telegram bot
  • Python Programming
  • NXT Programming

先備條件與設備

Raspberry Pi

  • Raspberry Pi 3

紅外線感測模組

  • 樹莓派紅外線感測器
    • IR Infrared PIR Motion Sensor
  • 杜邦線(公母、母母)
  • 電阻
  • 麵包板

Webcam

LEGO MINDSTORMS NXT 第二代

  • 超音波感測器 * 1
  • 馬達 * 3
  • 樂高零件

硬體架構設計

Raspberry Pi

安裝套件

  • python package index : 在 raspberry pi 上安裝 python 的套件管理
sudo apt-get install python-pip
  • telepot : 整合所有 telegram API,方便開發者使用的 python packge,通過安裝 telepot 我們可以直接在 python 中使用 telegram API 的功能
sudo pip install telepot
  • GPIO : 可以讓我們藉由程式與我們的裝置進行通訊,可以自由地控制與使用裝置
sudo pip install RPi.GPIO
  • DateTime : python 的模組,主要負責日期和時間的解析、格式化和計算。
sudo pip install DateTime
  • DateTime : python 的模組,主要負責日期和時間的解析、格式化和計算。
sudo pip install DateTime

紅外線感測模組

  • 紅外線感測器有三條可以外接的線,分別是 5V、資料線、GND 接地線
  • 左邊的是 VCC,要接到樹莓派的 5V
  • 中間的是資料線,可以接到任一 GPIO 接腳
  • 右邊是 GND 接地線,必須接到樹莓派的接地線接腳上

  • 以下是我們這次的接線
    • 5V(墨綠線)
    • Ground(紫線)
    • GPIO17(紅線)

Webcam

  • 直接買可支援 USB 的 webcam
  • 將 Webcam 的 USB 接入 Raspberry Pi 即可

LEGO MINDSTORMS NXT

什麼是 NXT?

組裝一個機械手臂

成品!!!

最後大合體

軟體系統架構

  • Telegram Bot
  • Python Programming
  • NXT Programming

建立 telegram bot

  1. 搜尋 BotFather(點選有藍勾勾的那個)

  2. 下指令 : /start

  3. 下指令 : /newbot

  4. 幫自己的機器人取個名字 !

  5. 命名 id,要以_bot結尾(id名不可重複)

  1. 系統會給你一串 token(要記起來!!!以後要加在程式碼中的)

  • token 要放進在 TOKEN 裡,記得不能洩漏不然會被亂改!

  1. 進入 BotFather 註冊 command

指令介紹

  1. /start : 開始訂閱保全偵測系統

  1. /attack : 對可疑人士進行攻擊

  1. /stop : 停止攻擊

  1. /isme : 告訴保全機器人,你是屋主不是可疑人士!

  1. /exit : 取消訂閱保全偵測系統

NXT Programming

使用 NXT programming 設計程式以操作機械手臂

  • 使用 NXT 專屬傳輸線連接電腦

  • 安裝 LEGO MINDSTORMS Educate NXT programming

  • 使用內建的程式方塊設計需要的功能

  • 測量距離同時判斷物體距離,再進行各項動作

  • 重置變數

最大的困難

  • 機械手臂不如預期可以透過 raspberry pi 直接使用 python 控制,因為 python 目前已無在維護 NXT 可使用的藍芽套件

未來展望

  1. telegram bot 介面可以再優化,變得更人性化(例如 : 把指令用成按鈕)
  2. 攻擊變成全自動化
  3. 可以設定服務開啟與關閉的時間
  4. 可以結合 hey google 智慧語音

參考資料

樹莓派紅外線感測安裝

紅外線感測送出提醒到 Telegram Bot

WebCam 連上樹莓派

NXT 射橡皮筋手臂設計

工作分配

  • 107213013 資管三 陳暐婷
    • 寫 github
    • 紅外線感測
    • 製作 PPT
    • telergam 介面優化
  • 107213024 資管三 王為棟
    • 製作 NXT 機械手臂
    • 程式註冊為服務
  • 107213048 資管三 趙洸佑
    • 製作 NXT 機械手臂
    • NXT programming
    • 製作 PPT
  • 107213051 資管三 李畇彤
    • 寫 github
    • 製作樹莓派紅外線感測
    • 製作 PPT
  • 107213055 資管三 邱品萍
    • 建立 telegram bot
    • 樹莓派連接 WebCam
    • 寫 Github
    • 製作 PPT
    • Python Programming

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages