10/10/2018, 09:52
Lập trình điều khiển thiết bị qua mạng !
Đệ là dân điện tử chình gốc , nhưng săp tới lại phải giải quyết một vấn đề hết sức khó khăn . Đệ phải làm sao đố để giám sát và điều khiển cả một dây chuyền sản xuất ...qua mạng Internet . Đệ muốn các huynh giải thích cho vài điều .
1. Một máy tính khi kết nối vào internet thông qua một Router thì Router này sẽ được ISP cung cấp cho một địa chỉ IP, và nếu không dùng các dich vụ đi kèm khác thì IP này sẽ là IP động . Vậy làm sao để thấy được IP này ?
2.Nếu đệ dùng IP động thì không thể lập trình để cung cấp một dịch vụ nào đó .Trong trường hợp của đệ là gởi và nhận tín hiệu điều khiển (giám sát nữa ).Vậy thì làm sao để cố định IP của mình ? Đệ nghe nói có một số trang Web cung cấp dịch vụ này , vậy thì nó là miễn phí hay phải trả tiền và dùng như thế nào nữa ? Nếu ta có yêu cầu đến các nhà cung cấp dich vụ internet để cố định IP thì có được không ?(nếu được thì chắc phải trả thêm tiền ).
3.Nếu có đoạn mã nào viết bằng VB để lập trình gởi và nhận dữ liệu qua mạng(dùng WinSock ấy nhé !) thì có thể gởi giúp đệ vào địa chỉ levietnhat04sk2@yahoo.com.vn ,cám ơn các huynh nhiều lắm nhé !
Nếu ai đó trả lời được phần nào đó giúp để thì đệ xin chân thành cảm ơn nhé !
1. Một máy tính khi kết nối vào internet thông qua một Router thì Router này sẽ được ISP cung cấp cho một địa chỉ IP, và nếu không dùng các dich vụ đi kèm khác thì IP này sẽ là IP động . Vậy làm sao để thấy được IP này ?
2.Nếu đệ dùng IP động thì không thể lập trình để cung cấp một dịch vụ nào đó .Trong trường hợp của đệ là gởi và nhận tín hiệu điều khiển (giám sát nữa ).Vậy thì làm sao để cố định IP của mình ? Đệ nghe nói có một số trang Web cung cấp dịch vụ này , vậy thì nó là miễn phí hay phải trả tiền và dùng như thế nào nữa ? Nếu ta có yêu cầu đến các nhà cung cấp dich vụ internet để cố định IP thì có được không ?(nếu được thì chắc phải trả thêm tiền ).
3.Nếu có đoạn mã nào viết bằng VB để lập trình gởi và nhận dữ liệu qua mạng(dùng WinSock ấy nhé !) thì có thể gởi giúp đệ vào địa chỉ levietnhat04sk2@yahoo.com.vn ,cám ơn các huynh nhiều lắm nhé !
Nếu ai đó trả lời được phần nào đó giúp để thì đệ xin chân thành cảm ơn nhé !
Bài liên quan
Nếu bạn có tiền chi ra thì bạn có static IP thôi đâu có gì khó, trừ khi bạn không chịu chi tiền ra thì ISP cho vài người xài chung một IP.
Làm web nhận và cung cấp dịch vụ thì đâu cần phải bắt buộc dùng static IP. Điều khiển và giám sán thì phải có phần lo chuyên monitor application hay services hay monitor mấy cái interrupts và port bên hardware rồi update database hay gì đó. Nếu không có database thì khó không có gì làm baseline để trace back hoặc monitor performance.
Nếu là production server thì không nên dùng VB và socket của windows vì nó không reliable, nếu bị hang hay bị crash thì cả hệ thống giây truyền bị ngưng. VB chỉ thích hợp cho application nhỏ thôi. Windows cũng không phải là realtime operating system for critical application. Unix hay Linux more reliable.
Cần tách biệt 02 chuyện ở đây
1. Điều khiển thiết bị trong mạng LAN
2. Sử dung remote control access từ xa vào mạng Lan ( theo các hình thức khác nhau )
Chi tiết :
1.
Bạn đã bảo đảm nếu trong cùng 01 mạng Lan, thì ban có thể lập trình được không ?
Bạn sử dụng VB, thì việc điều khiển hơn hạn chế, mình đề nghị bạn nên chọn Visual C hay C# để dễ dàng lập trình hơn.
2. Nếu đã làm được điều 1, thì điều 2 dễ dàng hơn nếu bạn suy nghĩ theo các phương án sau
a. Sử dụng remote access :
+ thông qua VPN ( ví dụ có thể dùng Hamachi + Remote Administrator )
+ thông qua No-IP.com để tạo 01 dynamic IP, sau đó sử dụng IP này remote từ xa
b. Bạn lập trình, sử dụng socket để kết nối IP ( thiết kế 1 webservices để có thể connect từ xa vào IP Server điều khiển thiết bị trong mạng Lan)
Tuy nhiên, do IP không phải là Statis IP -> đôi khi khó điều khiển vì IP thay đổi
MÌNH ĐỂ NGHỊ PHƯƠNG ÁN
Giai đoạn 1 : làm xong điều 1, sau đó sử dụng remote access để điều khiển
Giai đoạn 2 : cải tiến đề có thể sử dung webservices, hoặc call theo IP từ xa
Thân
Còn lí do vì sao lại là VB mà không phải là một ngôn ngữ lập trình nào khác là đệ chỉ biết có nó . Mà VB + WinSock không làm được điều này sao các bác ? Đệ phải dùng nó còn một lí do khác nữa: Không chỉ có lập trình đê nhận tín hiệu điều khiển từ xa thôi mà còn một đống công việc khi lâp trình lết nối các thiết bị phần cứng nữa
Cách giải quyết cũng có thể là dùng một ngôn ngũ chuyên dụng khác(HTML chẳng hạn !) để lập trình WEB sau đó dùng VB để điều khiển các thiết bị điện khác . Làm thế này được không mấy bác ?
Bây giờ đệ muốn các bác chỉ cho đệ các bước thiết lập để tạo ra một WEB đơn giản nhất như kiểu "hello word !" mà không cần gì khác ngoài nhưng cái mà đệ có ở trên . Cám ơn các bác nhiều lắm !
chuc thanh cong.
2. monitor chạy thường trực, ghi vào db.
3. đăng kí một tên miền(free cũng có). không phải lo vấn đề ip
4. xây dựng website. website này giống như một web mapping. tạo nên lưới các thiết bị. để điều khiển thì trước tiên truy cập vào từng thiết bị trên lưới, sau đó đơn giản là gọi servcie.