Nano и запись данных на SD карту

Добрый день. Подскажите возможно ли подключить к nano сразу Lora+ MAX485+SD карта
PS. Lora+ MAX485 уже подключены и отрабатывают свои функции
Теперь нужно чтобы данные полученные с MAX485 сначала записывались на флешку , а минут через 10 записи передавались по Lora и так циклично.

Просто смущает что MISO, MOSI уже заняты Lorой или можно повесить на них же СД , а управляющий пин естественно другой взять ?
Плюс нашел такую схему подключения флешки сразу к нано

Да, можно, но с учетом питания и с использованием конвертеров логических уровней

1 лайк

Подключить можно. Только если Нано питать от 3,3 вольта, что выходит за рамки по частоте.

Можно.
Но есть ряд особенностей.
Nano в нормальном режиме питается от 5 В, а SD карте нужно, чтобы как питание, так и управляющие сигналы были 3.3 В.
Чтобы что-то советовать в конкретном случае, нужна дополнительная информация.
Я бы для начала проверил, может ли конкретный экземпляр Nano устойчиво работать при питании от 3.0 В.

Может SD на что-то пятивольтовое поменять, если это просто кэш?

А если я буду использовать не нано , а esp32 wroom ? есть еще pi pico. но на ней пока не удалось завести max485(

А зачем на СД писать, в ОЗУ места не хватает? Если их так много то и через Лору будут уходить наверное очень долго, там же невысокие скорости.

конечно 3.3В удобнее будут, да и вообще в Нано устаревший проц, просто очень популярный (мне он удобен когда питание от 4.2В аккума, к слову).

К примеру берем 10 датчиков , опрос датчиков раз в 10 секунд и отправка пакета раз в 5 минут, это 300 строк или 3.6 КБ(Запись в память) или если раз в 10 минут то это 7.2 КБ(Запись в память) .
Строка имеет такой формат 1 0.00 20 40 , где 1 номер датчика, 0.00 концентрация на датчике , 20 установленный Порог 1 и 40 установленный Порог 2.

Так что получается, да СД не нужна, хватит и ESP32 ну или что имеет больше памяти чем нано.

На нано сейчас сделал 2 датчика опрос раз в 10 секунд , запись в течении 1 минуты в память и потом отправка раз в 1 минуту, потом по wifi уже передача а базу данных.
Но на прямую не смог подключиться к базе , что то никак не получается настроить чтобы писалось или подключалось удалено к MySQL Workbench 8.0 CE.
По итогу сначала пишется в скрипт на питоне , а он уже передает в базу :joy:

Единственное время нужно еще добавить при отправке с датой , это конечно увеличит размер раза так в 3😭

Если строка будет такого вида 1 0.00 20 40 2024 10 30 16 49 45

При указанном формате строки она будет не короче 13 символов, т.к. нужен еще символ-разделитель. Т.е. 3.9-7.8 к.
Но передача по строкам - это самый неудобный и самый неэкономичный способ передачи или хранения. В бинарном виде указанная информация должна поместиться в 2-3 байта. Что составит менее килобайта за 5 минут.
Кроме того, можно сократить и этот объем, если предусмотреть какие-то простые метода для сжатия информации. Например, передавать не величину, а ее приращение. Кроме того, Вы передаете пакет однородных данных. За счет этого также можно подсократить объем.

Юникстайм - 4 байта. Да, по сравнению с 2 байтами увеличение будет как раз в 3 раза. Но вряд ли Вам нужны все позиции от десятилетий до секунд. Даже если нужны все, первый раз передаем полную дату, а все остальные 299 записей - приращение от нее, которое заведомо поместится в полтора байта. А если нас устроит дискретность времени в 2-3 секунды - достаточно и одного байта.

1 лайк

так и нельзя делать, но примеры как писать в базу напрямую есть