4 điểm bởi GN⁺ 2024-01-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Meshtastic là một mạng mesh mã nguồn mở kết nối các thiết bị công suất thấp, chi phí thấp mà không cần trạm phát sóng hay Internet, hữu ích trong những tình huống không có hạ tầng liên lạc
  • Sử dụng liên lạc tầm xa dựa trên LoRa và mã hóa AES-256, cho phép gửi nhận mesh peer-to-peer riêng tư ngay cả trong môi trường off-grid
  • Hệ sinh thái đang mở rộng với hơn 8 thiết bị được cộng đồng hỗ trợ, hơn 149 người đóng góp mã nguồn trên toàn thế giới, 26 khu vực LoRa và 39 ngôn ngữ được hỗ trợ
  • Thông qua ứng dụng iOS·iPad·Mac OS, ứng dụng Android, Web Client và Python CLI/SDK, người dùng di động và nhà phát triển đều có thể truy cập cùng một mạng
  • Cung cấp nhiều client cùng tài liệu và công cụ flasher, giúp lộ trình bắt đầu từ chuẩn bị phần cứng đến cấu hình và điều khiển thiết bị trở nên tương đối rõ ràng

Mạng mesh hoạt động không cần hạ tầng

  • Meshtastic là một mạng mesh phân tán off-grid dựa trên mã nguồn mở
  • Được tạo ra để chạy trên các thiết bị giá rẻ, tiêu thụ điện thấp, đồng thời cung cấp kết nối peer-to-peer mà không cần trạm phát sóng hay Internet
  • Tiền đề cốt lõi là “No cell towers. No internet. Just pure peer-to-peer connectivity.”

Tính năng liên lạc

  • Long Range: Công nghệ LoRa cho phép liên lạc trong phạm vi vài kilômét
  • Encrypted: Mã hóa AES-256 giúp giữ tin nhắn ở trạng thái riêng tư và an toàn
  • No Infrastructure: Hoạt động mà không cần trạm phát sóng, WiFi hay kết nối Internet

Cộng đồng và phạm vi hỗ trợ

  • Quy mô hệ sinh thái mà Meshtastic đưa ra như sau
    • Thiết bị được cộng đồng hỗ trợ: hơn 8
    • Người đóng góp mã nguồn trên toàn thế giới: hơn 149
    • Khu vực LoRa: 26
    • Ngôn ngữ được hỗ trợ: 39

Client truy cập và điều khiển

  • Apple Apps: Ứng dụng tương thích iOS, iPad, Mac OS để quản lý mạng Meshtastic khi đang di chuyển
  • Android App: Có thể kết nối và điều khiển thiết bị Meshtastic từ ứng dụng Android
  • Web Client: Client nền web cho phép truy cập mạng Meshtastic từ nhiều thiết bị
  • Python CLI/SDK: Cung cấp giao diện dòng lệnh và SDK dành cho nhà phát triển Python

Công cụ bắt đầu và cấu hình

  • Get Started: Liên kết đến tài liệu bắt đầu với Meshtastic
  • Read the Docs: Điểm vào tài liệu dành cho người dùng cần chuẩn bị phần cứng
  • Flasher: Liên kết đến công cụ flasher trên trang Meshtastic

1 bình luận

 
GN⁺ 2024-01-02
Ý kiến trên Hacker News
  • Có một dự án liên quan là https://github.com/antirez/freakwan/
    Nhân tiện thì đó là thứ tôi làm ra. Ý tưởng khá giống Meshtastic, nhưng mục tiêu là làm cho các lựa chọn ở cấp độ giao thức được tài liệu hóa và thể hiện rõ ràng hơn, đồng thời có một triển khai dễ hack và sửa đổi hơn nhiều
    Nếu bạn hiểu tiếng Ý thì cũng có một bài nói chuyện ở đây: https://talks.codemotion.com/introduzione-alla-tecnologia-rf...

    • https://www.robots-everywhere.com/cellsol/ chúng ta có thể hợp tác được không?
    • Rất tuyệt. Tôi tò mò không biết có khoảng cách đạt được hay các chỉ số hiệu năng nào không. Thật khó tin là lại có một dự án Mesh WAN
    • Tôi tò mò không biết nếu so sánh freakwan với reticulum https://github.com/markqvist/Reticulum thì khác nhau thế nào
  • Tôi đã dùng nó ở Burning Man năm 2023, mà Burning Man thì rất khắc nghiệt với thiết bị, còn môi trường tần số vô tuyến thì phức tạp đến ngạc nhiên
    Dù vậy nó vẫn ổn định và trải nghiệm người dùng cũng tốt, nên tôi khá thích

    • Tôi biết LoRa không có băng thông cao, nên chỉ hỏi vì tò mò thôi: bạn đã dùng nó cho mục đích gì?
    • Tôi cũng đã dùng thử ở đó và nó hoạt động khá tốt, nhưng có vẻ cần tinh chỉnh để vị trí của tôi được cập nhật nhanh hơn
      Tôi cũng đã tạo một bản fork firmware đã chỉnh sửa để hiển thị vị trí trên playa
      https://github.com/exadeci/Meshtastic-device-bm
    • Tôi cũng đã dùng nó ở EDC năm ngoái và tương tự là nó hoạt động khá ổn
    • Có bài viết nào đáng đọc không?
  • Tôi đã tìm hiểu xem liệu có thể mua một đống thiết bị LoRa/Meshtastic rồi ghi lại vị trí của mình và hiển thị lên bản đồ theo kiểu APRS hay không
    Nhưng có vẻ nó khó hơn nhiều so với việc thiết lập APRS iGate và xem vị trí của tôi trên aprs.fi
    Tôi muốn thử lại vào lúc nào đó, nhưng cảm thấy cần một hướng dẫn bắt đầu thật tốt để có động lực

    • Tôi có khá nhiều phần cứng Meshtastic LoRa, và việc khiến nó thực sự hoạt động đúng còn khó hơn nhiều so với tôi kỳ vọng
  • Câu nói “đừng hỏi tuổi phụ nữ, lương đàn ông, và bộ thu phát LoRa về thông lượng” chợt hiện ra trong đầu
    Ở mức vài chục bit mỗi giây, nếu tính cả header gói và sửa lỗi các thứ, thì cùng lắm cũng chỉ được vài ký tự mỗi giây hoặc còn thấp hơn

    • Nếu nhìn vào datasheet của Semtech SX1262, một trong những chip vô tuyến thường dùng trong thiết bị Meshtastic, thì tốc độ bit thấp nhất là 18bps, khá chậm
      Nhưng nếu dùng độ rộng kênh lớn hơn và hệ số trải phổ thấp hơn thì có thể lên tới 62.5kbps. Tôi không rõ chính xác Meshtastic mặc định dùng chế độ nào, nhưng có vẻ có 8 preset
    • Cách nói “đừng hỏi tuổi phụ nữ, lương đàn ông” nghe hơi phân biệt giới tính
      Tôi biết đó là một câu thành ngữ, và không phải đang trách bình luận gốc
  • Trước khi quá phấn khích vì thứ này, cần nói rõ rằng việc dùng hệ thống radio mesh bán song công/TDD với anten đẳng hướng thuộc nhóm cách làm kém hiệu quả nhất để xây dựng mạng IP không dây ở quy mô làng mạc hoặc thị trấn nhỏ
    Khi anten đẳng hướng liên lạc với nhau, anten đẳng hướng cũng đồng thời là bộ thu nhiễu 360 độ, nên nó sẽ nhận cả lưu lượng hoặc tín hiệu chiếm khe thời gian từ các nút mesh xa hơn chứ không chỉ từ đối tác đang truyền nhận trực tiếp
    Tương tự, khi gửi gói tin tới một nút cụ thể, 99% tín hiệu RF sẽ phát tán theo các hướng phương vị không mong muốn và không cần thiết, đồng thời làm tăng nền nhiễu cho các nút xung quanh có cấu hình phần cứng tương tự
    Nếu ai đó muốn làm kiểu này với ngân sách cực kỳ eo hẹp, tôi khuyên nên xem xét hệ thống không dây 802.11ac/ax point-to-point được thiết kế để tạo cầu nối Ethernet L2 giữa hai điểm. Chủ yếu là dựa trên anten phản xạ parabol, và gần đây cũng có thiết bị bridge point-to-point 24GHz·60GHz giá rẻ, với điều kiện có đường nhìn thẳng và vùng Fresnel thông thoáng
    Thiết bị kiểu LoRa cũng hoạt động ở dải giống VHF/UHF, thấp hơn nhiều so với 2.4GHz hay 5GHz, thường dưới 1300MHz; nếu bạn cần liên kết cố định giữa hai điểm và có thể hướng anten Yagi-Uda hoặc anten lưỡng cực vào nhau thay vì để hai anten đẳng hướng đối diện nhau thì sẽ tốt hơn nhiều
    Nếu các nút không di chuyển và vị trí tương đối giữa chúng không thay đổi, tôi rất khuyên nên cân nhắc gần như bất kỳ phương án nào không phải anten đẳng hướng cho liên kết mạng giữa các nút để có độ ổn định đường truyền và tốc độ dữ liệu tốt hơn
    Đây là một ví dụ ngẫu nhiên tìm thấy sau 5 giây, hãy xem mẫu độ lợi theo hướng cụ thể: https://www.elprocus.com/design-of-yagi-uda-antenna/
    Một trong những việc hay ho đang được làm với chipset và mô-đun RF kiểu LoRa hiện nay là ExpressLRS. Nó triển khai cầu nối UART nối tiếp giữa bộ điều khiển từ xa và bộ điều khiển bay gắn trên UAV, thuyền không người lái hoặc xe mặt đất. Đây là phiên bản phát triển hơn của khái niệm chung như TBS Crossfire cho mục đích RC
    https://www.google.com/search?client=firefox-b-d&q=expresslr...

    • Có vẻ như bạn đã viết khá dài mà chưa thực sự hiểu Meshtastic là gì
      Meshtastic là nhắn tin văn bản có kênh, đồng thời cung cấp truyền dữ liệu cảm biến và tính năng dữ liệu vị trí cho một số nút
      Nó không nhằm mục đích cung cấp mạng TCP/IP
    • Có vẻ nội dung này được viết dựa trên giả định về thứ gì đó không phải LoRa
      Việc xây dựng “mạng IP không dây quy mô làng mạc hoặc thị trấn nhỏ” vốn chưa bao giờ là mục tiêu. Nó chỉ có thể tạo ra mạng nhắn tin văn bản đơn giản với tầm phủ khá tốt và băng thông thấp
    • Nếu gắn loại thiết bị này lên drone và cho chúng thay phiên cất cánh, có thể liên tục khuếch đại tín hiệu cho một khu vực nhất định
      Có vẻ thật sự có rất nhiều khả năng vượt qua ISP
    • Thứ dùng trong huấn luyện LLM là LoRA với chữ A viết hoa, còn trong vô tuyến là LoRa
    • Đó cũng là lý do anten thông minh và beamforming được phát minh
      Nhưng với những hệ thống có thông lượng rất thấp và chậm theo miền thời gian như LoRa, đây không phải là khái niệm dễ áp dụng nếu tính đến yếu tố di động
  • Có một video trong đó một người Anh cực kỳ nhiệt huyết vừa dùng ứng dụng Android thực tế vừa trình diễn tính năng traceroute v.v.: https://www.youtube.com/watch?v=LmGr1pGJ4sM

  • Vì được ghi là chỉ mở rộng tới 80 nút, nên có vẻ sẽ khó tìm được một mesh để tham gia trừ khi tự dựng, và có lẽ chỉ khả thi giữa những người quen biết nhau
    Tôi muốn một mạng mesh toàn cầu thay thế Internet

    • Tôi cũng muốn vậy. Ít nhất ở thời điểm hiện tại, tôi nghĩ tương lai nằm ở ứng dụng chấp nhận phân mảnh hơn là một mesh khổng lồ
      Một truy vấn như “Taco Express đã mở cửa chưa?” không nên hoạt động theo cách ánh xạ một cái tên duy nhất toàn cục sang một địa chỉ duy nhất toàn cục, rồi hỏi một máy chủ ở rất xa, để máy chủ đó lại yêu cầu thông tin vị trí nhằm xác định đó là Taco Express nào. Cách đó quá mong manh
      Thay vào đó, truy vấn nên lan truyền qua các mesh mà hiện tại có thể chạm tới, rồi gặp được nút có thẩm quyền về giờ mở cửa của Taco Express, có lẽ là một Raspberry Pi đặt tại Taco Express. Vì mục tiêu của truy vấn là thứ mang tính cục bộ, cấu trúc đó sẽ cho ra kết quả cục bộ
      Bài toán kết nối các mesh như vậy với nhau cũng thú vị, nhưng sẽ không hữu ích lắm cho đến khi xuất hiện một hệ sinh thái ứng dụng không phụ thuộc vào địa chỉ ổn định của từng nút riêng lẻ
      Thứ cần thiết không phải là định địa chỉ máy chủ và request/response, mà là định địa chỉ dựa trên ngữ cảnh và publish/subscribe. Cần một sự chuyển đổi khái niệm khá lớn, và đáng tiếc là có lẽ điều đó sẽ không xảy ra cho đến khi một thảm họa nào đó khiến mọi người bị thuyết phục về sự cần thiết của nó
    • Internet vốn đã là một mạng mesh toàn cầu
      So với các tuyến cáp quang dài 1000km, 10000Gbps cần hàng triệu đô để triển khai, đóng góp của một cá nhân gần như bằng không. Dù vậy, cũng không ai ngăn bạn lấy cổng ở hai trung tâm dữ liệu hoặc điểm trao đổi Internet, tìm cách nối chúng lại với nhau, rồi thu phí vận chuyển lưu lượng giữa hai đầu
      Ở châu Âu, báo giá vận chuyển 10Gbps trên quãng 650km vào khoảng 800 đô mỗi tháng, nên về mặt tiềm năng bạn có thể kiếm được chừng đó
    • Nếu quan tâm đến mạng mesh quy mô lớn, bạn có thể xem Wirepas. Tuy nhiên nó không dùng LoRa mà dựa trên 802.15.4
      Tôi từng là quản lý sản phẩm cho một hệ thống theo dõi nhân sự dựa trên mesh ở công trường xây dựng, và đã cấp phép công nghệ Wirepas để dùng trong giải pháp đó. Trong quá trình ấy tôi học được rất nhiều về những điểm tinh tế của mesh
    • Với “mạng mesh toàn cầu thay thế Internet”, tôi tò mò không biết bạn đang nghĩ tới những tiêu chí thiết kế nào
      Có những đánh đổi khó khăn giữa khả năng được phát hiện, độ trễ, tính sẵn sàng và bảo mật
  • Chẳng phải đã có mạng mesh Android mã nguồn mở rồi sao? Dựa trên Wi‑Fi hoặc Bluetooth ấy.
    Hình như tôi từng nghe nói mạng mesh đã được dùng trong các cuộc biểu tình vài năm trước, vậy giờ vẫn chưa có gì thực sự dùng được sao?

    • Yggdrasil có thể dùng Wi‑Fi trên Android. Tôi vẫn chưa tự thử: https://yggdrasil-network.github.io/
      Yggdrasil cho phép dùng các ứng dụng TCP/IP trên chính mạng mesh của nó, nhưng bản thân nó không cung cấp chức năng dành cho người dùng cuối
      Manyverse có thể dùng Wi‑Fi cho mạng xã hội phi tập trung: https://www.manyver.se/
      Hiện họ đang viết lại backend và rời khỏi Secure Scuttlebutt để chuyển sang giao thức riêng hiện có tên là PPPPP
      Reticulum/Sideband cung cấp hệ thống nhắn tin P2P qua Wi‑Fi hoặc các phương tiện khác: https://github.com/markqvist/sideband
    • Sẽ thật kỳ lạ nếu đến giờ vẫn chưa có. Phi tập trung hóa phần cứng thực sự còn rất thiếu
    • Tôi nhớ có thứ gì đó đã được triển khai ở Puerto Rico sau cơn bão năm 2017. Tìm nhanh thì có vẻ là cái này: https://techcrunch.com/2017/11/14/a-mesh-network-spontaneous...
    • Tôi đã nghe về Briar, Bridgeify, Serval, Meshenger, còn gì nữa không?
    • Có lẽ bạn đang nghĩ đến cái này: https://en.m.wikipedia.org/wiki/FireChat
      Nó đã ngừng hoạt động vào năm 2018 và cũng không phải mã nguồn mở
  • Tôi từng muốn tham gia phong trào Decentralized Web mà TimBL đã công bố, nhưng rồi nó dần lắng xuống.
    Tôi đã đăng ký để đến “offline camp” ở Oregon, nhưng bị hủy vì cháy rừng lớn, và có lẽ có liên quan đến Camp Fire. Cuối cùng tôi lại đi cắm trại bên sông
    Tôi đã tiêu hơn 1 triệu USD trong hơn 10 năm để cố tạo ra phần mềm cộng đồng mã nguồn mở có thể chạy trên bất kỳ máy chủ phổ dụng nào, như máy bay, tàu du lịch kiểu Norwegian Cruise Lines, hay các ngôi làng nông thôn
    Tôi muốn hỗ trợ giáo dục địa phương, bao gồm cả các bé gái Afghanistan. Tôi cũng đang liên hệ với RohingyaProject.com và những bên khác để hỗ trợ người tị nạn không quốc tịch
    Những mạng mesh như vậy đã tồn tại rồi và phần cứng điện thoại cũng rất tốt. Điều còn thiếu là phần mềm backend đủ tốt để giúp mọi người rời khỏi Big Tech, tức Twitter hay Facebook. Tương tự như cách Web đã đưa mọi người rời khỏi AOL và MSN, hay Wordpress đã giúp họ rời khỏi Web 1.0
    Nếu bạn muốn tham gia, hoặc biết một phong trào “decentralized web” hay “indieweb” thực sự đang hoạt động, hãy cho tôi biết ở dưới nhé
    https://qbix.com/blog/2021/01/15/open-source-communities/
    Bài viết gần đây về nền tảng:
    https://www.laweekly.com/restoring-healthy-communities/

  • https://www.robots-everywhere.com/cellsol/ Chúng tôi đã làm ra thứ này vào khoảng năm 2020, và nó hỗ trợ cả các gói tin Meshtastic lẫn disasterradio