دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Koen Vervloesem
سری:
ISBN (شابک) : 1907920943, 9781907920943
ناشر: Elektor Verlag
سال نشر: 2020
تعداد صفحات: 332
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 15 مگابایت
در صورت تبدیل فایل کتاب Control Your Home with Raspberry Pi: Secure, Modular, Open-Source and Self-Sufficient به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب خانه خود را با Raspberry Pi کنترل کنید: ایمن، مدولار، منبع باز و خودکفا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Table of Contents Preface Chapter 1 • Introduction 1.1 What is home automation? 1.2 Why use a Raspberry Pi as a home automation gateway? 1.3 The properties of a good home automation system 1.3.1 Secure 1.3.2 Modular 1.3.3 Open-Source 1.3.4 Self-sufficient 1.4 How to use this book 1.5 Summary and further exploration Chapter 2 • The Raspberry Pi as a home automation gateway 2.1 Which Raspberry Pi models are suitable for home automation? 2.2 Requirements for a reliable home automation gateway 2.3 Installing Raspberry Pi OS 2.4 Setting up network connectivity with Ethernet or Wi-Fi 2.4.1 Ethernet 2.4.2 Wi-Fi 2.4.3 Setting a fixed IP address 2.5 Remote access using SSH 2.5.1 Enabling the SSH server 2.5.2 Connecting with the SSH client 2.6 Basic setup 2.7 The tmux terminal multiplexer 2.7.1 The basics of tmux: windows 2.7.2 Working with tmux sessions 2.7.3 Seeing more at the same time with panes 2.7.4 Copying and pasting text 2.8 Python 2.8.1 Virtual environments 2.8.2 Package requirements 2.9 Docker 2.9.2 Installing Docker Compose 2.9.3 Creating a Docker Compose YAML file 2.10 Summary and further exploration Chapter 3 • Secure your home automation system 3.1 Some general computer security principles 3.2 Isolate your home automation devices 3.2.1 Physical isolation 3.2.2 VLANs 3.2.3 Firewalls 3.3 User management 3.3.1 Permissions 3.3.2 Passwords 3.3.3 Lifecycle 3.4 Encryption 3.4.1 Your threat model 3.4.2 TLS 3.4.3 Setting up your own CA with mkcert 3.4.4 Creating a CA 3.4.5 Creating and signing a certificate 3.4.6 Keeping your root CA key secure 3.5 Keeping your software up-to-date 3.5.1 Update apt packages 3.5.2 Update Docker images 3.5.3 Update pip packages 3.5.4 Update manually installed packages 3.5.5 Update your home automation devices 3.6 Summary and further exploration Chapter 4 • MQTT (Message Queuing Telemetry Transport) 4.1 What is MQTT? 4.1.1 Central intermediary 4.1.2 Hierarchical names 4.1.3 Using wildcards 4.2 Installing and configuring the Mosquitto MQTT broker 4.2.1 A basic Mosquitto setup 4.2.2 Testing your setup with the Mosquitto clients 4.2.3 A secure Mosquitto setup 4.2.4 Testing your secure setup with the Mosquitto clients 4.2.5 Default options for Mosquitto clients 4.3 Using graphical MQTT clients 4.3.1 MQTT.fx 4.3.2 MQTT Explorer 4.4 Using MQTT in Python 4.5 Direct communication between other containers and Mosquitto 4.6 Summary and further exploration Chapter 5 • TCP/IP 5.1 Wake other network devices 5.2 Remote control with SSH 5.2.1 Run commands on other devices 5.2.2 Secure passwordless logins using SSH keys 5.3 Collecting information from devices using SNMP 5.3.1 Walking through the MIB tree 5.3.2 Collecting your router\'s version using SNMP 5.3.3 Collecting your printer\'s ink levels 5.4 Using devices with a HTTP/REST API 5.4.1 Setting up a Shelly device for secure remote control 5.4.2 Using Shelly\'s HTTP API with curl 5.4.3 Using the HTTP API in Python 5.5 Creating a video surveillance system 5.5.1 Turn your Raspberry Pi into an IP camera 5.5.2 Turn your Raspberry Pi into a camera controller 5.5.3 Viewing your remote cameras 5.5.4 Motion detection 5.5.5 Notifications on motion 5.6 Summary and further exploration Chapter 6 • Bluetooth 6.1 An introduction to Bluetooth Low Energy 6.1.1 Broadcasting data 6.1.2 Connecting to services 6.2 Enabling Bluetooth 6.3 Investigating Bluetooth Low Energy devices 6.3.1 Scanning for Bluetooth Low Energy devices 6.3.2 Dumping raw Bluetooth broadcast data 6.3.3 Discovering device characteristics 6.3.4 Reading device characteristics 6.4 Reading BLE sensor values in Python 6.4.1 RuuviTag Sensor 6.4.2 Miflora 6.5 Relaying Bluetooth sensor values with bt-mqtt-gateway 6.5.1 Configuring bt-mqtt-gateway 6.5.2 Running bt-mqtt-gateway 6.6 Presence detection with Bluetooth 6.6.1 Presence detection with monitor.sh 6.6.2 Configuring and running monitor.sh 6.6.3 Trigger arrival and departure scans in monitor.sh 6.7 Summary and further exploration Chapter 7 • 433.92 MHz 7.1 433.92 MHz protocols 7.2 Hardware requirements 7.2.1 Receiver 7.2.2 Antenna 7.3 Receiving sensor values with rtl_433 7.3.1 Installing rtl_433toMQTT 7.3.2 Configuring rtl_433 7.4 Publishing 433.92 MHz sensor values to MQTT 7.5 Summary and further exploration Chapter 8 • Z-Wave 8.1 An introduction to Z-Wave 8.1.1 The specification 8.1.2 How does Z-Wave work? 8.2 Choosing a Z-Wave transceiver 8.2.1 Transceiver on the GPIO header: RaZberry 8.2.2 USB Transceiver 8.3 OpenZWave and Zwave2Mqtt 8.3.1 Installing Zwave2Mqtt 8.3.2 Configuring Zwave2Mqtt 8.3.3 Using the Zwave2Mqtt Control Panel 8.4 Using your Z-Wave devices with MQTT 8.4.1 Reading sensor values 8.4.2 Controlling switches 8.5 Summary and further exploration Chapter 9 • Zigbee 9.1 An introduction to Zigbee 9.1.1 The specification 9.1.2 How does Zigbee work? 9.2 Creating a Zigbee transceiver 9.2.1 Connect the downloader cable 9.2.2 Install the flashing software 9.2.3 Flash the firmware 9.3 Zigbee2mqtt and Zigbee2MqttAssistant 9.3.1 Connecting the CC2531 9.3.2 Installing Zigbee2mqtt and Zigbee2MqttAssistant 9.3.3 Configuring Zigbee2mqtt and Zigbee2MqttAssistant 9.3.4 Using Zigbee2MqttAssistant 9.4 Using our Zigbee devices with MQTT 9.4.1 Reading sensor values 9.4.2 Controlling switches 9.5 Summary and further exploration Chapter 10 • Automating your home 10.1 Node-RED 10.1.1 Installing Node-RED 10.1.2 Adding authentication to Node-RED 10.1.3 Using Node-RED over HTTPS 10.1.4 Creating Node-RED flows 10.1.5 Installing extra nodes in Node-RED 10.1.6 Creating a dashboard in Node-RED 10.2 Home Assistant 10.2.2 Integrating MQTT 10.2.3 Creating automation rules 10.3 AppDaemon 10.3.1 Installing AppDaemon 10.3.2 Creating an AppDaemon app with MQTT: the time 10.3.3 Creating an AppDaemon app with MQTT: garage door alert 10.4 Summary and further exploration Chapter 11 • Notifications 11.1 Forwarding local email 11.1.1 Installing Nullmailer 11.1.2 Testing Nullmailer 11.1.3 Using Nullmailer 11.2 Forwarding emails from Docker containers 11.2.1 Installing docker-postfix 11.2.2 Sending emails to docker-postfix 11.3 Push notifications with Gotify 11.3.1 Installing the Gotify server 11.3.2 Adding applications to Gotify 11.3.3 Using Gotify applications 11.3.4 Using Gotify clients 11.4 Notifications on receiving MQTT messages 11.4.1 Installing mqttwarn 11.4.2 Sending emails with mqttwarn 11.4.3 Transforming and filtering payloads 11.5 Summary and further exploration Chapter 12 • Voice control 12.1 A basic Rhasspy setup 12.1.1 Hardware requirements 12.1.2 Configure audio hardware 12.1.3 Installing Rhasspy 12.1.4 Rhasspy\'s settings 12.1.5 Configuring audio 12.1.6 Configuring the wake word 12.1.7 Configuring text to speech 12.1.8 Configuring speech to text 12.1.9 Configuring intent recognition 12.1.10 Configuring dialogue management 12.1.11 Testing your Rhasspy setup 12.2 A Rhasspy base with satellites 12.2.1 Hardware requirements 12.2.2 Setting up the satellites 12.2.3 Setting up the base 12.2.4 Testing your base and satellites 12.2.5 Enable UDP audio streaming 12.3 Train your sentences 12.3.1 Rhasspy\'s template language 12.3.2 Slots 12.4 Intent handling 12.4.1 Intent handling with MQTT 12.4.2 Intent handling with AppDaemon and MQTT 12.4.3 Intent handling with WebSocket in Node-RED 12.5 Summary and further exploration Chapter 13 • Remote access 13.1 Three ways for remote access 13.1.1 Port forwarding 13.1.2 A localhost tunneling solution 13.2 Updating your dynamic DNS with ddclient 13.3 Running WireGuard on your Raspberry Pi 13.3.1 Installing PiVPN 13.3.2 Adding a VPN client 13.3.3 Connecting with a VPN client 13.3.4 Managing your VPN clients 13.4 Summary and further exploration Chapter 14 • Conclusion 14.1 A dashboard for all your services 14.2 More about home automation Chapter 15 • Appendix 15.1 Getting the name and ID of a serial device 15.2 Switching USB ports 15.3 Disabling the onboard radio chips 15.3.1 Disabling onboard Bluetooth 15.3.2 Disabling onboard Wi-Fi 15.4 Disabling the on-board LEDs 15.4.1 Raspberry Pi Zero (W) 15.4.2 The big Raspberry Pi models 15.4.3 Ethernet models 15.4.4 Raspberry Pi Camera Module 15.5 Securing insecure web services with a reverse proxy 15.5.1 Using nginx as a reverse proxy with HTTPS 15.5.2 Adding basic authentication to nginx 15.6 Bridging two MQTT brokers securely Index