contributing
Разработка на основе волонтёров
Meshtastic — это команда волонтёров, и поэтому всегда есть множество способов помочь. Этот проект получает отличные вклады от людей в свободное время. Эти вкладчики работают над функциями, которые их интересуют. Это очень открытое и приветливое сообщество разработчиков, и мы всегда ищем помощь для улучшения Meshtastic.
- Если вы разработчик, есть много работы. Вперёд!
- Если вы взаимодействуете с радиостанциями Meshtastic, нам нужна помощь с тестированием, документацией и предоставлением отзывов.
- Если вы занимаетесь веб-разработкой, ознакомьтесь с различными веб-репозиториями.
- Если вы занимаетесь Kotlin и Android, ознакомьтесь со ссылкой на репозиторий ниже.
- Если вы занимаетесь Python, ознакомьтесь со ссылкой на репозиторий ниже
- Если вы занимаетесь SwiftUI, ознакомьтесь со ссылкой на репозиторий ниже
- Если вы интересуетесь радиолюбительским радио и LoRa, то это отличный проект для вас!
- Если вы системный администратор дата-центра, нам нужны машины для github runners.
- ... по сути... мы будем рады вашей помощи и отзывам
В Discord есть несколько разработчиков, тестировщиков и активных пользователей.
Экосистема Meshtastic
Экосистема Meshtastic использует разнообразные технологии и репозитории для предоставления надёжной децентрализованной платформы связи. Эта экосистема постоянно развивается благодаря совместным усилиям разработчиков, вкладчиков и сообщества, стремясь улучшить и расширить возможности Meshtastic для децентрализованной связи вне сети.
Ключевые компоненты включают:
- Protocol Buffers: Основa связи и взаимодействий, изменения и определения управляются в репозитории определений Meshtastic Protobuf. Подробную информацию см. в справочнике по Protobuf API.
- Прошивка устройств: Разработка для устройств на базе ESP32, nRF52 и RP2040 ведётся в репозитории прошивки, с акцентом на код на C и C++ для взаимодействия с оборудованием и связи.
- Модули прошивки: Расширяют основные функции устройств и mesh-сетей, реализуются в основном в репозитории прошивки. Модули необходимы для добавления новых функций и интеграции устройств в экосистему.
- CLI-приложения (интерфейс устройства): Meshtastic Python CLI позволяет взаимодействовать с настройками и функциями устройства, служа как утилитой и библиотекой для разработки приложений.
- Веб- и JavaScript-приложения: Разработка хостед веб-сервера для устройств ESP32 ведётся в Meshtastic Web, с библиотекой JavaScript для интерфейсов устройств в Meshtastic JS.
- Мобильные и десктопные приложения: Приложения для Android, iOS, iPadOS и macOS предоставляют пользовательские интерфейсы для взаимодействия с устройствами Meshtastic. Разработка для Android описана в репозитории Meshtastic-Android, а для платформ Apple — в репозитории Meshtastic-Apple.
- Документация: Исходный код сайта и документации Meshtastic находится в репозитории meshtastic/meshtastic. Рекомендации по поддержанию документации см. на странице Maintaining Documentation.
Эта экосистема постоянно развивается благодаря совместным усилиям разработчиков, вкладчиков и сообщества, стремясь улучшить и расширить возможности Meshtastic для децентрализованной связи вне сети.
Локализация Meshtastic
Meshtastic — глобальный проект, и мы стремимся сделать наши ресурсы доступными для пользователей по всему миру. Перевод нашей документации и приложений на несколько языков — это ключевой шаг к достижению этой цели. Если вы владеете несколькими языками и хотите внести вклад в усилия по локализации Meshtastic, мы приветствуем вашу помощь в переводе наших ресурсов.
Перевод приложения для Android
Подробности о переводе приложения Meshtastic для Android см. в руководстве для Android здесь.
Перевод приложения для Apple
Подробности о переводе приложения Meshtastic для Apple см. в руководстве для Apple здесь.
Перевод документации
Подробности о переводе документации Meshtastic см. в руководстве по документации здесь.
Поддержка и вклад в Meshtastic
Проект Meshtastic в значительной степени выигрывает от вкладов наших волонтёров и финансовой поддержки сообщества. По мере эволюции проекта расширение функций и сервисов привело к росту финансовых потребностей, включая оборудование для разработки, сборы GitHub, хостинг для публичных MQTT-сервисов и многое другое. Этот рост в мощную платформу для децентрализованных решений mesh-сетей вне сети демонстрирует преданность наших разработчиков и щедрость наших финансовых спонсоров.
Как вы можете финансово поддержать Meshtastic
Если прямой вклад в разработку для вас не подходит, финансовую поддержку — ещё один бесценный способ помочь Meshtastic расти и процветать. Мы предлагаем два основных варианта денежных пожертвований:
Спонсоры
Мы глубоко благодарны за поддержку от наших спонсоров, перечисленных ниже, которая сыграла ключевую роль в устойчивости и росте нашего проекта. Их поддержка позволяет нам продолжать обслуживать и расширять наше сообщество.
Вклад в блог Meshtastic
Назначение
Стимулировать рост и сотрудничество путём обмена знаниями, обновлениями и инновациями из сообщества Meshtastic.
Рекомендации по содержимому
Приемлемые темы
- Фокус на темах, связанных с Meshtastic, таких как руководства, сценарии использования, обновления разработки и глубокие обзоры технологий.
- Посты должны быть вашей оригинальной работой. Контент, ранее опубликованный в другом месте, нельзя подавать на публикацию, но после размещения в блоге Meshtastic посты можно переопубликовывать в других местах.
- Посты не должны дублировать ранее опубликованные материалы в блоге, за исключением случаев обновления или корректировки оригинального контента в связи с изменениями.
Недопустимые темы
- Избегайте саморекламы или коммерческого контента.
- Продвижение продажи оборудования, чехлов и т. д. или привлечение трафика на другие веб-сайты недопустимо.
- Партнёрские ссылки не допускаются, если предварительно не получено одобрение от проекта Meshtastic.
Биография автора
Вы можете ссылаться на свою личную работу или веб-сайт, но ссылки на личный контент могут быть включены только в соответствующую информацию об авторе — либо в front matter, либо в глобальный файл авторов.
- Допустимые ссылки включают URL, адреса электронной почты и социальные сети.
- Фото должны соответствовать Кодексу поведения Meshtastic.
- См. Документацию Docusaurus по авторам постов в блоге для получения дополнительной информации.
Права на контент
Вклады подпадают под тот же CLA, что и другие вклады сообщества Meshtastic, в соответствии с открытой природой проекта.
Как подать пост
Подготовка и форматирование
Пишите свой пост с использованием Markdown. Убедитесь, что контент профессиональный, информативный и доступный.
- Сохраните файл в формате
.mdx. - Назовите файл аналогично
slug, чтобы он был кратким, но описательным (например, пост со slugrecent-mqtt-broker-changesможет использоватьrecent-mqtt-broker-changes.mdx). - Ознакомьтесь с Документацией Docusaurus по блогу для полезных советов и информации о создании блогов.
Используйте следующие лучшие практики для доступности (WCAG):
- Используйте уникальные и описательные заголовки.
- Организуйте контент с помощью значимых заголовков.
- Используйте описательный текст ссылок.
- Предоставляйте значимый альтернативный текст для изображений.
- Делайте свой текст ясным и кратким.
Front Matter
Ваш пост должен включать следующий front matter в начале:
---
title: The title of your blog post.
description: A concise summary of your blog post, typically displayed in previews or search results.
slug: A unique identifier for your blog post’s URL. It should be short, descriptive, and relevant.
authors: The author or authors of the blog post. This can reference the global authors file or include author information directly.
tags: A list of tags categorizing your post for easier discoverability.
date: The publication date in ISO format (e.g., `2024-10-23T13:00`).
hide_table_of_contents: Set to `false` to control the visibility of the table of contents.
image: The path to the image used for the social preview. Default is "/design/web/social-preview-1200x630.png". Custom images can be used but must include the Meshtastic logo (see below as to where these should be placed).
---
Изображения
- Оптимизируйте и сжимайте изображения в формат webp с помощью инструментов вроде Tinify/TinyPng или cwebp для улучшения времени загрузки.
- Размещайте любые изображения, используемые в посте, в папке static/img/blog.
- Используйте краткие имена файлов для изображений.
Подача
- Подайте свой пост в виде Pull Request в репозиторий GitHub meshtastic/meshtastic.
- Если папка для текущего месяца не существует в директории блога, создайте её перед добавлением поста.
Процесс проверки
- Подачи проверяются maintainers проекта и другими участниками.
- Проверка обеспечивает соблюдение руководящих принципов контента, качество информации и релевантность для сообщества.
Частота вкладов
Ограничения на публикации
- Авторы, публикующие более двух постов в месяц, могут быть попросены распределить свои вклады, чтобы обеспечить большую разнообразность.
Тон и длина
Ожидаемый тон
- Вклады должны быть профессиональными и информативными.
- Цель — поддерживать высококачественное, доступное письмо, отражающее совместный дух Meshtastic.
Длина
- Пост должен содержать не менее 500–700 слов.
- Если пост приближается к 3000 словам, рассмотрите возможность сокращения материала или разделения на несколько частей.