ราสเบอร์รี่ PI – การใช้ระบบที่มีระบบอัตโนมัติในบ้านราคาไม่แพง [ส่วนที่ III]

เดือน ได้ตัดสินใจกลับไป โครงการนี้ กับที่ผมตั้งใจจะสร้างเป็น ระบบอัตโนมัติหน้าแรกฟรี, และ ประหยัดราคาไม่แพง; การใช้ใช้ไมโครคอมพิวเตอร์นี้ต่ำ, แต่ ข้ามแพลตฟอร์ม และ แบบพกพา กับอุปกรณ์กับระบบปฏิบัติการ GNU/Linux จาก พอร์ต GPIO.ใน โพสต์ก่อนหน้านี้ เราได้เรียนรู้การควบคุมโมดูลของ รีเลย์ optoacoplados มี ราสเบอร์รี่ PI โดย ทุบตี, PHP, และงูเหลือม; ในโอกาสนี้ ผมได้ปรับระบบอัตโนมัติ, และบังเอิญ ผมได้ย้ายไป ราสเบอร์รี่ PI 3 ในการจัดการ เชื่อมต่อไร้สาย, แต่ ถ้าคุณต้องการคุณสามารถใช้รุ่นก่อนหน้าใด ๆ.

การ ฮาร์ดแวร์ ประกอบด้วยสองโมดูลที่ของรีเลย์ที่แปด แต่ละ, ที่ทำขึ้นทั้งหมด ออกสิบหก ในการควบคุม เครื่องใช้ไฟฟ้า, เต้ารับไฟฟ้า, แสงสว่าง; และมีไม่สิ้นสุดของ อุปกรณ์ ว่ามันเป็นขนาดเล็กเช่นนี้ ราสเบอร์รี่ PI 3, ในทุกสิ่งที่คุณต้องการ บ้าน domotic ซิสเต็ม สำนักงาน u ทั่วไป.

ระบบอาคารอัตโนมัติ

ตัดวงจรสวิตช์ไดอะแกรม domotic ซิสเต็ม DIY.

โปรแกรมใน'แผงควบคุม' PHP, และเป็นการเพิ่มประสิทธิภาพของรหัสของ รุ่นก่อนหน้านี้ แต่วัตถุประสงค์ในการจัดการการ GPIO โดยตรงผ่าน ทุบตี ซึ่งช่วยเร่งการ; ต้อง, เพราะเราจะให้บริการนี้ผ่านทางหน้า WiFi.

FremooticsPI

แผงควบคุมเว็บของระบบอัตโนมัติ.

ความจริงของ ไม่ มีแฟ้มเพิ่มเติม การจัดการเอาท์พุตพอร์ต GPIO ของ ราสเบอร์รี่ โดย งูเหลือม; แปลงนี้ง่าย เว็บเพจ, ไฟล์เดียว, เป็นจริงที่จุดเริ่มต้นของที่กลายเป็นวันหนึ่งในการ ระบบอัตโนมัติเต็มบ้าน ว่า ฉันจะได้พัฒนา เข้าด้วยกัน.

<html>
<head>
<title>Panel de control - Sistema domotico libre</title>
</head>

<body>
<div align="center">
<br></br>

 <!--GPIO4/IN1-->
 <form action="" method="post">
 Interruptor 01 &nbsp;<input type="submit" name="encender4" value="Encender">
 <input type="submit" name="apagar4" value="Apagar">

 <!--GPIO17/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 02 &nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">

<br></br>

 <!--GPIO27/IN3-->
 <form action="" method="post">
 Interruptor 03 &nbsp;<input type="submit" name="encender27" value="Encender">
 <input type="submit" name="apagar27" value="Apagar">

 <!--GPIO22/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 04 &nbsp;<input type="submit" name="encender22" value="Encender">
 <input type="submit" name="apagar22" value="Apagar">

<br></br>

 <!--GPIO18/IN5-->
 <form action="" method="post">
 Interruptor 05 &nbsp;<input type="submit" name="encender18" value="Encender">
 <input type="submit" name="apagar18" value="Apagar">

 <!--GPIO23/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 06 &nbsp;<input type="submit" name="encender23" value="Encender">
 <input type="submit" name="apagar23" value="Apagar">

<br></br>

 <!--GPIO24/IN7-->
 <form action="" method="post">
 Interruptor 07 &nbsp;<input type="submit" name="encender24" value="Encender">
 <input type="submit" name="apagar24" value="Apagar">

 <!--GPIO25/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 08 &nbsp;<input type="submit" name="encender25" value="Encender">
 <input type="submit" name="apagar25" value="Apagar">

<br></br>

 <!--GPIO5/IN1-->
 <form action="" method="post">
 Interruptor 09 &nbsp;<input type="submit" name="encender5" value="Encender">
 <input type="submit" name="apagar5" value="Apagar">

 <!--GPIO6/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 10 &nbsp;<input type="submit" name="encender6" value="Encender">
 <input type="submit" name="apagar6" value="Apagar">

<br></br>

 <!--GPIO13/IN3-->
 <form action="" method="post">
 Interruptor 11&nbsp;<input type="submit" name="encender13" value="Encender">
 <input type="submit" name="apagar13" value="Apagar">

 <!--GPIO12/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 12 &nbsp;<input type="submit" name="encender12" value="Encender">
 <input type="submit" name="apagar12" value="Apagar">

<br></br>

 <!--GPIO19/IN5-->
 <form action="" method="post">
 Interruptor 13 &nbsp;<input type="submit" name="encender19" value="Encender">
 <input type="submit" name="apagar19" value="Apagar">

 <!--GPIO16/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 14 &nbsp;<input type="submit" name="encender16" value="Encender">
 <input type="submit" name="apagar16" value="Apagar">

<br></br>

 <!--GPIO20/IN7-->
 <form action="" method="post">
 Interruptor 15 &nbsp;<input type="submit" name="encender20" value="Encender">
 <input type="submit" name="apagar20" value="Apagar">

 <!--GPIO21/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 16 &nbsp;<input type="submit" name="encender21" value="Encender">
 <input type="submit" name="apagar21" value="Apagar">

</div>
</body>
</html>

<?php

// Funciones PHP del pin GPIO 4

 if ($_POST[encender4]) {
 $a- exec("echo 4 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio4/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

 if ($_POST[apagar4]) {
 $a- exec("echo 0 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 4

// Funciones PHP del pin GPIO 17

 if ($_POST[encender17]) {
 $a- exec("echo 17 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio17/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio17/value");
 echo $a;
 }

 if ($_POST[apagar17]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio17/value");
 $a- exec("echo 17 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 17

// Funciones PHP del pin GPIO 27

 if ($_POST[encender27]) {
 $a- exec("echo 27 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio27/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio27/value");
 echo $a;
 }

 if ($_POST[apagar27]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio27/value");
 $a- exec("echo 27 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 27

// Funciones PHP del pin GPIO 22

 if ($_POST[encender22]) {
 $a- exec("echo 22 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio22/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio22/value");
 echo $a;
 }

 if ($_POST[apagar22]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio22/value");
 $a- exec("echo 22 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 22

// Funciones PHP del pin GPIO 18

 if ($_POST[encender18]) {
 $a- exec("echo 18 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio18/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio18/value");
 echo $a;
 }

 if ($_POST[apagar18]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio18/value");
 $a- exec("echo 18 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 18

// Funciones PHP del pin GPIO 23

 if ($_POST[encender23]) {
 $a- exec("echo 23 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio23/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio23/value");
 echo $a;
 }

 if ($_POST[apagar23]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio23/value");
 $a- exec("echo 23 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 23

// Funciones PHP del pin GPIO 24

 if ($_POST[encender24]) {
 $a- exec("echo 24 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio24/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio24/value");
 echo $a;
 }

 if ($_POST[apagar24]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio24/value");
 $a- exec("echo 24 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 24

// Funciones PHP del pin GPIO 25

 if ($_POST[encender25]) {
 $a- exec("echo 25 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio25/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio25/value");
 echo $a;
 }

 if ($_POST[apagar25]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio25/value");
 $a- exec("echo 25 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 25

// Funciones PHP del pin GPIO 5

 if ($_POST[encender5]) {
 $a- exec("echo 5 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio5/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio5/value");
 echo $a;
 }

 if ($_POST[apagar5]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio5/value");
 $a- exec("echo 5 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 5

// Funciones PHP del pin GPIO 6

 if ($_POST[encender6]) {
 $a- exec("echo 6 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio6/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio6/value");
 echo $a;
 }

 if ($_POST[apagar6]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio6/value");
 $a- exec("echo 6 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 6

// Funciones PHP del pin GPIO 13

 if ($_POST[encender13]) {
 $a- exec("echo 13 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio13/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio13/value");
 echo $a;
 }

 if ($_POST[apagar13]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio13/value");
 $a- exec("echo 13 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 13

// Funciones PHP del pin GPIO 12

 if ($_POST[encender12]) {
 $a- exec("echo 12 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio12/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio12/value");
 echo $a;
 }

 if ($_POST[apagar12]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio12/value");
 $a- exec("echo 12 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 12

// Funciones PHP del pin GPIO 19

 if ($_POST[encender19]) {
 $a- exec("echo 19 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio19/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio19/value");
 echo $a;
 }

 if ($_POST[apagar19]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio19/value");
 $a- exec("echo 19 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 19

// Funciones PHP del pin GPIO 16

 if ($_POST[encender16]) {
 $a- exec("echo 16 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio16/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio16/value");
 echo $a;
 }

 if ($_POST[apagar16]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio16/value");
 $a- exec("echo 16 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 16

// Funciones PHP del pin GPIO 20

 if ($_POST[encender20]) {
 $a- exec("echo 20 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio20/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio20/value");
 echo $a;
 }

 if ($_POST[apagar20]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio20/value");
 $a- exec("echo 20 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 20

// Funciones PHP del pin GPIO 21

 if ($_POST[encender21]) {
 $a- exec("echo 21 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio21/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio21/value");
 echo $a;
 }

 if ($_POST[apagar21]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio21/value");
 $a- exec("echo 21 > /sys/class/gpio/unexport");
 echo $a;
 }

// Fin de las funciónes del pin GPIO 21

?>

การดำเนินการ การเชื่อมต่อระหว่างราสเบอร์รี่และรีเลย์, คุณต้อง ไปที่เท้าของจดหมายตารางต่อไปนี้ ตามแบบแผน GPIO BCM; เพราะมิฉะนั้น คุณจะต้องปรับเปลี่ยนบรรทัดในแฟ้ม PHP, และแทนที่ในการ รหัส หมายเลขของ ปักหมุด พนักงาน.

ราสเบอร์รี่ PI รุ่น B + / 2 3 รีเลย์ 1
+ 5V + 5V
GPIO 4
ใน 1
GPIO 17
ใน 2
GPIO 27 ใน 3
GPIO 22
ใน 4
GPIO 18 ใน 15
GPIO 23
อิน 1 6
GPIO 24
อิน 1 7
GPIO 25
อิน 1 8
บริจาคให้ บริจาคให้
ราสเบอร์รี่ PI รุ่น B + / 2 3 รีเลย์ 2
+ 5V + 5V
GPIO 5
ใน 1
GPIO 6
ใน 2
GPIO 13
ใน 3
GPIO 12
ใน 4
GPIO 19
อิน 1 5
GPIO 16
อิน 1 6
GPIO 20
อิน 1 7
GPIO 21
อิน 1 8
บริจาคให้ บริจาคให้

เมื่อเชื่อมต่อทั้งหมด พิน ของ ราสเบอร์รี่ การที่เกี่ยวข้อง VCC, บริจาคให้, อี ปัจจัยการผลิต ของการ รีเลย์; เหลืออยู่เท่านั้น คัดลอกแฟ้ม PHP การ ราสเบอร์รี่ PI, ใช้อะไร SCP ที่จะช่วยให้เราทำ จากระยะไกล.

usuario@maquina:~ $ scp index.php pi@192.168.1.*:/home/pi/
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo mv /home/pi/index.php /var/www/html/

นอกจากนี้ จากระยะไกล เราจะย้ายแฟ้มไดเรกทอรีของเว็บเซิร์ฟเวอร์, และเราจะกำหนดให้เป็นเจ้าของ SSH การ ผู้ใช้และกลุ่มข้อมูล www; จะเพิ่มไป กลุ่ม gpio, และจากนั้น เราเริ่มต้นการใช้การเปลี่ยนแปลง.

usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo chown www-data:www-data /var/www/html/index.php
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo usermod -a -G gpio www-data
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo reboot

ในที่สุด เรากินกับรีเลย์ 230V เราเห็นในการ บทความก่อนหน้านี้ ทำให้การ สะพานทางเข้าระหว่างขั้วบวกอื่น ๆ, ใช้เดียว ปลั๊ก, หรือสวิตช์ เบรกเกอร์ขนาดเล็ก; แต่ ถ้าเราต้องการเชื่อมต่อ อุปกรณ์ที่สิบหก ปริมาณใช้สูง แนะนำให้ใช้สอง, หรือปลั๊กเพิ่มเติม.

relespuenteados

รูปแบบของสะพานระหว่างขั้วบวกของโมรีเลย์.

สายที่เหลือ, ซึ่งสอดคล้องกับการ ขั้วไฟฟ้าลบ และการ ใช้เวลาของ โลก, เราจะเชื่อมต่อ โดยตรงกับอุปกรณ์ ต้องการควบคุมผ่านการ รีเลย์, ในกรณีของฉัน เสียบ domotic ซิสเต็ม DIY; เราควรยังใส่ใจที่ เพื่อความปลอดภัย รีเลย์ของเราควรมีออกจาก 1A, ดังนั้นสำหรับ 16 เอาต์พุตจะต้องสับเปลี่ยนของ 16ถึง.

ปลั๊กไดอะแกรมของรีเลย์

ไดอะแกรมต่อ domotic ซิสเต็ม DIY.

ในต่อไปนี้ วิดีโอ คุณสามารถดูประสิทธิภาพการทำงานนี้ ระบบเอาต์พุต 16 โดยตรวจสอบ, ผ่านการสาธิต มีโคมไฟใช้พลังงานต่ำ; ถ้าชอบ อย่าลืม ติดตามฉันที่ YouTube ไม่พลาดใด ๆ ของ เผยแพร่วิดีโอ ผมจะเผยแพร่.

ถ้าคุณชอบคุณสามารถทำตามฉันบน ทวิตเตอร์, Facebook, Google +, LinkedIn, Feedly, หรือใช้ร่วมกับปุ่มภายใต้ประกาศนี้, ถ้าคุณมีคำถาม หรือข้อเสนอแนะโปรดอย่าลังเลที่จะแสดงความคิดเห็น.

บทความที่เกี่ยวข้อง

ช่วยให้เราเข้าถึงผู้อ่านเพิ่มเติม Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

16 ความคิดเกี่ยวกับ"ราสเบอร์รี่ PI – การใช้ระบบที่มีระบบอัตโนมัติในบ้านราคาไม่แพง [ส่วนที่ III]

  1. Peatonet คำถาม, ฉันได้คัดลอกรหัสเป็น และทุกอย่างทำงานอย่างถูกต้อง, ยกเว้นที่ปุ่มย้อนกลับไป, เปิดปิดลง และในทางกลับกัน.

    ขอบคุณสำหรับบล็อกสดใสทั้งหมด.

    • สวัสดี XuFLeS, ขอบคุณสำหรับความคิดเห็น.

      อาจจะมีการทำ ด้วยการส่งผ่านการเชื่อมต่อไฟ; มันจะมีประโยชน์ในการตรวจสอบว่า คุณเชื่อมต่อในปกติเปิด (ไม่) แทนที่จะปิดตามปกติ (NC).

      เจอกันใหม่เร็ว ๆ นี้.

      • กำลังทดสอบก่อนเชื่อมต่อผู้ติดต่อ 230 V และแดง led ของ relay เปิดบนเมื่อปิดชีพจร. ฉันแก้ไขเล็กน้อยรหัสเพื่อย้อนกลับได้ และดูดี, แต่ความจริงก็เกิดสงสัย. ขอบคุณสำหรับคำตอบของคุณ.

  2. การสนับสนุนที่ดี. ต้องคล้ายกัน สำหรับการชลประทานควบคุม แต่ข้อเดียว: หากหนึ่งของ n ผล อยู่ใน 1 แล้ว GPIOx จะอยู่ใน 1. กระดูก GPIO = 0 ถ้าเพียงทุกเอาต์พุ = 0. ความคิดใด ๆ?? ผลโซลินอยด์วาล์วและปั๊ม GPIOx. จากแล้วขอบคุณ.

    • สวัสดี Edu,

      ขึ้นอยู่กับจำนวนผลสุดท้าย, ใช้อย่าง น้อยหนึ่งปี่ราสเบอร์รี่; ได้ง่าย, มีหลายควรประเมินซึ่งเป็นข้อมูลที่ทางที่เหมาะสมระหว่างอุปกรณ์.

      ขอบคุณสำหรับข้อคิดเห็น.

  3. สวัสดี, ผมสนใจในนี้ เพราะอยากจะควบคุมไฟกลางแจ้งจากโทรศัพท์.
    มันจะเป็นครั้งแรกที่คุณลองอะไรกับราสเบอร์รี่.
    แต่ข้อสงสัยเกิดขึ้นฉันเมื่อเรียกโพสต์นี้ “ส่วนที่สาม”.
    โค้ด PHP เท่านั้นที่เป็นไม่หายไปจะใช้อะไรจากส่วนหนึ่งและสอง?
    ผมเข้าใจว่า รหัสนี้จะเป็น index.php, ที่วาง iria?
    ขอบคุณมาก!

    • สวัสดี Paul,

      เท่ากับรหัสนี้ PHP สามารถใช้รุ่นสุด ' ปัจจุบัน’ ระบบ.

      ในบทเรียนก่อนหน้านี้และความคิดเห็นของพวกเขาอธิบายที่เป็นไฟล์ (index.php), ให้สิทธิ์ที่ถูกต้อง, ฯลฯ…

      ขอบคุณสำหรับข้อคิดเห็น.

      • ขอบคุณมากสำหรับการตอบสนองที่รวดเร็ว.
        ฉันได้เชื่อมต่อกับรีเลย์แปดจานเดียวอยู่แล้ว.
        แต่สิ่งหายากที่เกิดขึ้นกับผมว่าไม่พบโซลูชัน.
        ให้ปุ่มเว็บ, มี GPIO ที่เรียกฉันอย่างสมบูรณ์แบบ, ให้แรงดันสอดคล้องกัน และการรักษาจนถึงที่ปิด, แต่ในมืออื่นๆ ที่ทำให้รีเลย์ของ “คลิก” ทำงานแต่ไม่เปลี่ยน. เสียงคือ ว่า รีเลย์ activase และถูกปิดใช้งาน, มันเป็นตัววัดไม่พบการเปลี่ยนแปลงใด ๆ ได้อย่างรวดเร็ว.
        ที่อาจจะเป็นเพราะ?
        ขอบคุณ.

        Salu2!

        • พบข้อผิดพลาด.
          ในรหัส PHP, ในการปิดคำสั่ง, เอารหัส $a- สำนักงาน(“เสียงก้อง 18 > /sys/ชั้น/gpio/ยก เลิกส่ง”); , ขณะที่คุณมีบนสวิตช์แรก และตอนนี้ ทำงานฉัน.
          ตอนนี้ สิ่งที่ทำให้, ครั้งแรกที่คุณเปิดกับราสเบอร์รี่; ไฟ led แปดแสงความเข้มปานกลาง, คุณต้องเปิด และปิดครั้ง และคุณเปิดนำดี และตอนนี้ทำงานได้ถูกต้อง.

          Salu2!

          • ขอโทษจะหนักมากกับความเห็นมากมายแต่นี้เป็นโครงการแรกที่ทำ raspery ของฉัน และก็ตื่นตาตื่นใจ และง่ายมาก! มีกวดวิชานี้.
            และโลกที่เปิด ด้วยอุปกรณ์นี้เป็น inmeso!
            บนเว็บ, โดยไม่ออกจาก PHP, จะเห็นสวิตช์ที่ใช้งานอยู่?
            สวิตช์, สามารถเข้าถึงจัดการกับตารางเวลาและระยะเวลา?
            จริง ๆ,ผมได้เปิดโลกใหม่, สนุกสนานมาก และประหยัด.

            Salu2 และขอขอบคุณ!

          • สวัสดี พอล GC.

            ผมคิดว่า ในความคิดเห็น ฉันอธิบายเป็นเช็ค สวิตช์ที่ อ่านใช้งานผ่าน PHP รัฐ GPIO.

            การควบคุมเวลาโดยการเขียนโปรแกรม สิ่งที่ง่ายที่สุดคือการ ใช้มอน CRON ระบบเรียกใช้สิ่งที่คุณต้องการ, ครั้งที่ le Marquis ซึ่ง.

            ขอบคุณมากสำหรับข้อคิดเห็น.

          • โครงการค่อนข้างแล้วกันสาด, อ่านสถานะของ gpio เพียงพอที่จะใช้
            สำนักงาน ( “GPIO อ่าน 29”, $status21 );
            ถ้า ($status21[0] == 0) {
            }
            และใส่เครื่องหมายวงเล็บที่คุณต้องการแสดงถ้ามันเปิด หรือสถานะ== 1 เพื่อปิดเครื่อง.

            กำหนดหมายเลข gpio อ่านไม่ตรงกับหมายเลขพอร์ต gpio, ถ้าคุณต้องการ ผมใส่นี่ของ equivalences สำหรับแต่ละพอร์ตด้วยการกำหนดหมายเลขของฉันได้อ่าน.

            สิ่งเดียวที่ผมยังไม่เข้าใจ, เป็นเพราะ 1 ปิด และ 0 ตั้งอยู่บน.
            การใดในการราสเบอร์รี่, เอาท์พุททั้งหมดไม่ระบุสัญชาติ, ปล่อยให้แรงดันไฟฟ้าปานกลางและผล ไม่ทำงานจนกว่าคุณเปิดพวกเขาสองครั้ง.

            สร้างการตั้งค่าใหม่ของไซต์, ทำอะไรจะให้ใบสั่งปิดเอาท์พุททั้งหมด, มี “นอนหลับ” อีกครั้ง เพื่อให้สั่งดับได้ทั้งหมด, หลังจากกระบวนการนี้แล้วจะทำงานทั้งหมด.

            อาจเป็นว่า พวกเขาผ่านสิ่งเหล่านี้สอง?

            Salu2!

          • สวัสดี Paul, ขออภัยสำหรับความล่าช้าแต่ผมเวลาน้อยมากเมื่อเร็ว ๆ นี้ระหว่างทำงานและการศึกษา.

            ตอนแรก ผมต้องขอขอบคุณคุณว่า คุณได้แชร์ความคืบหน้ากับผู้อ่านอื่น ๆ ของบล็อก, เมื่อมีเวลาว่างที่มีอยู่ระหว่างการพิจารณา ดำเนินต่อในส่วนนี้ของบทเรียนบนระบบอัตโนมัติที่บ้านง่าย และราคาไม่แพง, แต่มันจริง ๆ ความภาคภูมิใจสำหรับฉันดูคุณทำตามตัวเองไปข้างหน้ากับโครงการและจะทำให้แต่ละคนในระบบที่กำหนดเองของคุณเอง.

            การเชื่อมต่อในการถ่ายทอดโดยการกำหนดค่าต่ำแบบลอจิคัล (0), และเปิดพวกเขา มีค่าตรรกะสูง (1) เป็นไปได้ว่า เนื่องจากที่ คุณเชื่อมต่อรีเลย์ 230V เป็นปกติเปิดแทนวงจรปิดตามปกติ, ที่บอกอ่าน XuFLes ความคิดเห็นแรกของบทความนี้; ถ้าคุณพยายามมัน และปัญหายังคงอยู่, แสดงความคิดเห็น และการพยายามที่จะคิดว่า เป็นไปได้อื่น ๆ.

            เพื่อหลีกเลี่ยงการทำผลการรีเซ็ตหลังจากแต่ละจุดระเบิด Raspbian, คุณสามารถสร้างสคริปต์อย่างง่ายที่ส่งออก และตั้งค่าพินที่คุณต้องการรีบูต, และเปิดตัวอย่างเช่นจาก rc.local.

          • สวัสดี!
            ไม่มีอะไรในบ่ายวันนั้นในการตอบ!
            เป็นตรรกะที่จะพาคุณเวลาและโดยเฉพาะอย่างยิ่ง ในวันเหล่านี้.
            จุดระเบิดและปิดเครื่อง, ในทางกลับกันการทำงาน, มีรีเลย์เชื่อมต่อ.

            และสิ่ง rc.local, เพื่อหลีกเลี่ยงการไปหน้ารีเซ็ต, ต้องการ.

            Salu2!

  4. ถนนดี, ฉันได้อ่าน 3 สอนส่วนบ้านอัตโนมัติ, แต่ ในการเขียนโปรแกรมไปอย่างรวดเร็วของฉัน, หัวข้อดูเหมือนน่าสนใจสุด แต่ผมคิดว่า เราต้องการรายละเอียดระบบบ้านอัตโนมัติ และจะรับอินพุตจากภายนอก, ( ปุ่ม, เซนเซอร์แสง, ฯลฯ). อยากจะทำงานร่วมกัน และคิดว่า ในส่วนของการไฟฟ้าผมสามารถช่วย และกลับมา ผมขอความช่วยเหลือเพื่อให้เข้าใจการเขียนโปรแกรมทั้งหมด. อีเมลของฉันคือ tecnico.antono.raya@gmail.com

    คำอวยพรและขอแสดงความยินดีบนเว็บ

  5. สวัสดี คุณสบายดีไหม, สนใจโครงการ, แต่ไม่เห็นเก็บ github, อยากจะให้ความร่วมมือ, ฉันจะซื้อฉันเป็นปี่ราสเบอร์รี่สำหรับโครงการระบบอัตโนมัติหน้าแรก, แม้ว่าผมไม่ทราบมากเกี่ยวกับอิเล็กทรอนิกส์… เรากำลังเรียนรู้, ด้วยความเคารพ.

ใส่ความเห็น