Hack một máy chủ in để gửi tự động hóa Ethernet Home

của Dan McGrath. Những gì mà tất cả những điều này về sau đó? Chà, tôi đã có vô số tự động hóa gia đình, và tôi thích nó! Tuy nhiên, bất cứ khi nào tôi thể hiện nó cho bạn bè và gia đình, tôi có xu hướng nhận được một trong hai câu trả lời. Đầu tiên là nó chỉ là một mánh lới quảng cáo và họ không bao giờ muốn bất cứ điều gì như vậy. Thứ hai là nó rất tuyệt, nhưng quá phức tạp để họ thiết lập một cái gì đó tương tự.

Vì vậy, đây là nỗ lực của tôi đối với một thiết bị tự động hóa gia đình đơn giản, rất dễ dàng mà bất kỳ ai cũng có thể sử dụng, và thực tế bất kỳ ai cũng có thể thực hiện. Tôi thực sự đang xem xét nghiêm túc việc sản xuất những thứ này với số lượng lớn (một cái gì đó tương tự) và bán toàn bộ rất nhiều như một dịch vụ được quản lý trong khoảng một năm một năm. (Xin vui lòng cho tôi biết nếu điều này có thể được bất cứ ai quan tâm). Dù sao, vì vậy đây là nỗ lực của tôi trong tự động hóa nhà giá rẻ cho quần chúng, tôi hy vọng bạn thích nó

Thiết kế – Đúng vậy, vì vậy tôi cần một cái gì đó rẻ, đáng tin cậy, dễ giữ. Ngoài ra, một cái gì đó có thể được kích hoạt bởi một công tắc dễ dàng và công tắc đó có thể là bất kỳ điều gì sau đây:

Kết nối nó với một ổ cắm, ánh sáng hoặc bất kỳ thiết bị nào khác và sử dụng nó để làm cho nó.

Gắn vào bảng điều khiển năng lượng mặt trời hoặc LDR để theo dõi mức độ ánh sáng.

Kết nối một cặp đầu dò và phát hiện nước (thực vật, mưa, rò rỉ, vv

Kết nối với công tắc pir hoặc sậy để bảo mật,

Kết nối với báo động khói để phòng cháy chữa cháy,

Kết nối với một thảm áp lực, vv.

Hầu hết mọi người không muốn một PC hoặc máy chủ chạy cả ngày, vì tiếng ồn, nhiệt và năng lượng tiêu thụ. Dễ dàng máy tính một bảng nhỏ bé hiện có thể được mua từ 50 đô la mỗi máy (Xport, Arduino, Picotux, v.v.), nhưng ngay cả điều này dường như quá mức cần thiết cho những gì tôi muốn

Một công tắc được quản lý, bộ định tuyến, tường lửa, bất cứ thứ gì có cổng Ethernet và một loại giao diện web nào đó là những gì tôi đã theo đuổi, nhưng nó phải rẻ tiền và nhỏ. Sau đó, tôi nảy ra ý tưởng về một máy chủ in máy chủ in là lý tưởng, chúng sử dụng rất ít điện, được phát triển để được chuyển đổi mọi lúc, có thể phản hồi với một ping và tốt hơn vẫn có một máy chủ web được xây dựng. Tôi đã làm một chút googling xung quanh và nhìn thấy chúng ít như một người thuê trên eBay. Ồ và họ cũng rất nhỏ! Tôi đã có ba ý tưởng cho dự án này:

Đầu tiên là tôi có thể phá vỡ hoặc rút ngắn cặp truyền trên tivi cáp Ethernet đến vào máy chủ in. Chắc chắn với các thiết bị bị ngắn hoặc bị hỏng này sẽ không thể đáp ứng yêu cầu ping hoặc http.

Tôi nghĩ rằng nó sẽ hoạt động, nhưng nó có vẻ hơi man rợ, và tôi chắc chắn rằng tôi có thể làm tốt hơn.

Thứ hai là chỉ để phá vỡ sức mạnh cho thiết bị

Điều này có tiềm năng từ quan điểm tiết kiệm năng lượng vì bạn chỉ cung cấp năng lượng cho thiết bị này một số thời gian, tất nhiên khi nó được cung cấp năng lượng, bạn sẽ thấy trang web của nó hoặc trả lời yêu cầu ping. Tôi khá thích ý tưởng này, điều duy nhất khiến tôi tắt là khi tắt nguồn, không thể biết thiết bị có bị tắt hay bị ngắt kết nối với mạng vì một lý do khác – có thể là một thất bại ở nơi khác. Ngoài ra, tôi không chắc thiết bị sẽ giữ các cài đặt (mạng, v.v.) trong khi nó tắt.

Điều tôi thực sự muốn là một cách để nhận được phản ứng từ đơn vị để xác nhận rằng đó là ở trạng thái này hay trạng thái khác, theo cách đó bạn có thể chắc chắn về những gì đang thực sự xảy ra. Đó là nơi mà ý tưởng thứ ba của tôi xuất hiện.

Ý tưởng thứ ba là lừa máy chủ in mà máy in thực sự gắn liền với nó,

và sau đó có nó để có vẻ như máy in đã bật hoặc tắt.

Tôi đã thực hiện một chút reaSearch, và có vẻ như PIN 13 của đầu nối được sử dụng cho mục đích này. Lấy pin cao (tức là áp dụng 5Volts cho nó) và máy chủ nghĩ rằng máy in là on_line, hãy lấy pin thấp (tức là loại bỏ điện áp) và máy chủ nghĩ rằng máy in off_line.

Vì tất cả những gì tôi phải làm là áp dụng và xóa 5Volts, tôi chỉ có thể tìm thấy 5Volt ở đâu đó và định tuyến qua một công tắc. Đóng công tắc và có vẻ như máy in là on_line, mở công tắc và máy in xuất hiện off_line. Như tôi nói, trạng thái này được phản ánh trong giao diện web, vì vậy một tập lệnh dễ dàng phải có khả năng thăm dò trang này và phân tích trạng thái máy in và sau đó sử dụng thông tin này cho một cái gì đó hữu ích.

Xây dựng-Như đã thảo luận ở trên, tôi đã sử dụng máy chủ in song song EDIMAX PS-1206P, mà tôi đã mua với giá khoảng 25 pound trực tuyến. Nó thực sự giống như 22 quid, nhưng bưu chính và đóng gói tăng lên một chút. Cuối cùng tôi đã mua một số ít trong số này vì chúng rất rẻ. Tôi chưa bao giờ nghe nói về Edimax trước đây, vì vậy sản phẩm có thể tốt hay xấu, nhưng tôi không quan tâm, miễn là nó sẽ đáp ứng yêu cầu HTTP thì tôi sẽ hạnh phúc! Tôi đã rất ngạc nhiên khi họ bật lên, chúng được đóng hộp độc đáo và nội dung cũng có vẻ ổn:

Mặc dù vậy, một điều chắc chắn, thiết bị này sẽ không bao giờ được cắm vào mặt sau của máy in. Tôi sẽ sớm cắt nó thành một thứ gì đó thú vị hơn nhiều. Chi tiết ở đây: Edimax PS-1206p

Được rồi, vì vậy hãy để Lừa lấy nắp một trong những người này. Tôi chỉ thích lấy đồ ra xa, nhưng lấy những thứ hoàn toàn mớiNgoài ra, đặc biệt thú vị đối với tôi, nó có vẻ rất sai !! Có một vài ốc vít đầu Phillips ở phía dưới và một khi chúng được gỡ bỏ, trường hợp chỉ cần tách ra, mặc dù bạn cần phải ép hai bên một chút khi hai nửa kẹp vào nhau.

Tôi đã rất ngạc nhiên với bên trong của đơn vị này, nó được kết hợp rất tốt. Chúa chỉ biết tất cả các bit là làm gì, tôi đoán có một bộ xử lý trong đó, một số ký ức, một chút I/O và những thứ khác mà tôi không hiểu.

Bây giờ, bạn có thể giữ ổ cắm Big 36Pin Centronics trên máy chủ in và chỉ cần giữ phích cắm phù hợp để kết nối với nó, nhưng chúng khá cồng 36 chân này. Tôi đã chọn cắt ổ cắm ra khỏi Không, tôi đã làm điều đó với một cái rìu, hiện tại nó trông hơi thô vào lúc này: mặc dù:

Sau đó, tôi bỏ rơi các chân riêng lẻ từ bảng và tạo ra một tấm kim loại nhỏ để chặn lỗ bên trái từ ổ cắm bị thiếu. Tôi đã khoan một vài lỗ hổng trong đó và kết nối một cặp đầu nối vít. Một chút của 2 phần epoxy và một số tâm nhiệt và bạn có điều này

Khá gọn gàng hả ?! Vì vậy, đó là nguyên mẫu làm việc, với một chút may mắn, việc bắc cầu cho hai thiết bị đầu cuối ốc vít đó sẽ trả lại trạng thái on_line và để chúng mở sẽ tạo ra một sự off_line. Vì vậy, nó thời gian để kiểm tra. Lưu ý: Các hình ảnh trên cho thấy các kết nối với chân 35 và 36, điều này là không chính xác, thử nghiệm tiếp theo cho thấy tôi thực sự cần chân 13 và 19.

Tôi đã chọn để đo mức tiêu thụ năng lượng, và tôi đã rất ngạc nhiên về những gì tôi tìm thấy, nó chỉ sử dụng 6watts, đó là điều rất nhiều? (Ở mức 10p mỗi kWh, nó sẽ có giá khoảng 5 quid mỗi năm để chạy)

Như tôi đã nói ở trên, tôi sẽ bỏ phiếu cho máy chủ của mình với yêu cầu HTTP và thu thập trạng thái máy in, nhưng nếu bạn muốn xem nó có ở đó không bằng cách ping nó, thì bạn có thể sử dụng Ping để Montior, sử dụng một cái gì đó như:

ngày
n = 1

Trong khi [$ n -lt 1000]
làm
ping -n 1 server_ip
echo $ n
Đặt n = n+1
xong
ngày

Cho thấy thiết bị này có thể dễ dàng gửi (và nhận) 1000 ping trong 52 giây, là 20 ping một giây. Vì vậy, ping nó là một lựa chọn khả thi và nên cung cấp cho bạn một phản hồi khá nhanh chóng. Tất nhiên, nếu bạn muốn chỉ sử dụng ping thì bạn sẽ phải đặt thiết bị bằng cách phá vỡ nguồn điện hoặc kết nối mạng (nó won bị ảnh hưởng bởi trạng thái máy in). Ping don lồng thực sự hoạt động tốt trên internet, rất nhiều người và bộ định tuyến vô hiệu hóa các yêu cầu ICMP tại ranh giới của họ, tuy nhiên lợi ích với thiết bị này là nó cũng có giao diện web có thể được thăm dò để kiểm tra tính khả dụng của nó. Điều này có thể được thực hiện trên Internet một cách dễ dàng và một lần nữa một tập lệnh ngắn cho thấy bạn có thể thực hiện khoảng 1 yêu cầu mỗi giây bằng cách sử dụng

#!/usr/bin/bash

người dùng = tên người dùng
Mật khẩu = Mật khẩu
url = server_url

wgetTHERquietTHERHttp-user = $ userTHER
–Proxy = $ proxy $ url

máy in grep off_line.htm> /dev /null

Nếu [“$?” ==
sau đó lặp lại “ngoại tuyến”
khác echo “trực tuyến”
fi

Máy in RM.htm

Trả về một giá trị dựa trên trạng thái máy in. Lưu ý máy chủ web trên tàu khá chậm, như dự kiến ​​thực sự, nhưng bạn nhận được phản ứng trong chưa đầy một giây, vì vậy tôi nghĩ rằng nó sẽ khả thi để thăm dò ý kiến ​​mỗi 5-10 giây. Thay thế các lệnh echo bằng thư hoặc các lệnh wget bổ sung có thể gửi email cho bạn hoặc nhận URL (có thể sử dụng Twitter để SMS bạn, v.v.)

OK, một ví dụ về cách cập nhật trạng thái Twitter của bạn được đưa ra dưới đây:

WgetTHERKeep-session-cookies,
MạnhHTTP-password = Mật khẩu

(Thay thế tên người dùng, mật khẩu và tin nhắn bằng, bạn biết ..)

Hoặc tốt hơn nữa, ở đây, cách gửi cho mình một tweet khi có điều gì đó xảy ra:

WGETTHERKeep-session-cookiesTHERHTTP-user = user \
MạnhHTTP-password = Mật khẩu

Lưu ý, bạn phải URL mã hóa thông báo mà khá tuyệt là không? Xem nhiều hơn về API Twitter ở đây. – API Twitter

Để xem điều này từ mạng, bạn sẽ cần phải tự nhiên vào máy chủ in của mình, tôi đã chạy một bộ định tuyến Cisco để sau đây làm việc cho tôi:

ip nat bên trong nguồn tĩnh TCP có thể mở rộng

(Giữ số cổng lên trong 50.000 người cao và bạn sẽ nhận được ít người quét và thăm dò bạn hơn). Nếu bạn có bộ định tuyến Linksys thì hướng dẫn sẽ khác, nhưng một cái gì đó như thế này nên làm điều đó:

Nếu bạn thiên đường có một trong những điều trên, thì bạn sẽ có một may mắn của riêng bạn!

Phần mềm – OK, tôi đã đưa ra một số ví dụ ở trên, bên dưới là một tập lệnh Bash Shell hoạt động mà theo đó, sẽ theo dõi một trong những ví dụ này cho bạn và Twitter SMS bạn khi trạng thái thay đổi. Đó là một ví dụ rất dễ dàng, nhưng nên giúp bạn bắt đầu.

#!/bin/bash

## Web Nhận tham số
user = ”quản trị viên
Mật khẩu = ”1234
url = xông http: //ip_address/printer.htm

## Thông số Twitter
t_user = người dùng
t_passwd = mật khẩu

## Các tham số khác
trạng thái = ”đóng”

trong khi đúng
làm
old_status = $ trạng thái
wgetTHERquietTHERHttp-user = $ user

máy in grep off_line.htm> /dev /null

Nếu [“$?” ==
sau đó status = ”mở”
trạng thái khác = ”đóng”
fi

Máy in RM.htm

Nếu [$ status! = $ old_status]
Sau đó, wgetTHERquietTHERHttp-user = $ t_user \
—Http-passwd = $ t_passwd
Cấm

fi
Ngủ 1
xong

Ngoài ra, bạn có thể sử dụng một số phần mềm giám sát như các freenats nổi bật để cảnh báo bạn khi có điều gì đó xảy ra.

Kết luận – Chà, tôi hy vọng bạn đã vui mừng về những gì tôi đã làm, bạn phải thừa nhận đó là tự động hóa tại nhà
trên giá rẻ, và rất dễ làm. Chúc mừng – Dan

Liên kết hữu ích

CPAN – Tất cả mọi thứ Perl
Perl – nhiều thứ hơn Perl
WGET – Ứng dụng WGET
Edimax – Nhà cung cấp máy chủ in khác / Misc
Twitter – Trang web mạng xã hội với SMS

Bài viết ngắn này được sao chép từ bản gốc theo sự đồng ý của Dan McGrath của YourMissus.com

Muốn thêm? – Theo dõi chúng tôi trên Twitter, như chúng tôi trên Facebook hoặc đăng ký nguồn cấp dữ liệu RSS của chúng tôi. Bạn thậm chí có thể nhận được những câu chuyện tin tức này được gửi qua email, thẳng vào hộp thư đến của bạn mỗi ngày

Chia sẻ cái này:
Facebook
Twitter
Reddit
LinkedIn
Pinterest
E-mail
Hơn

WhatsApp
In

Ứng dụng trò chuyện
Tumblr

Telegram
Túi

Leave a Reply

Your email address will not be published. Required fields are marked *