Извежда цифровата фоторамка с интернет
Методи на изпълнение
Най-лесният начин да се управлява по фоторамка образ цифрово - това е просто, колкото е необходимо, за да превключите готовите снимки, съхранени в паметта си. Ето един пример, прилагането на този метод. Очевидно е, че този метод не е много гъвкав - един различен брой може да бъде показана и в процеса на промяна на този брой ще бъде доста бавен.
Частта за софтуер
Вече имах развитие на борда STM32F4DISCOVERY, така че реших да се тества «emfat» Библиотека, предложен по-горе в статията. С Windows 7, не е имало проблеми, но рамката не е в състояние да намирате файлове на "виртуални" диск. Както се оказа по-късно, на таблета с Android, също не показват устройството. Друг компютър с Ubuntu USB устройство, но то не може да се монтира устройство.
Това е необходимо, за да се справи с проблема по-дълбоко. Както се оказа, въпреки факта, че Windows разпознава устройството и може да чете файлове от него, TestDisk програма не може да се определи каква е файловата система на него:
Постепенно чрез изучаване на резултатите от "сурови" данни, издадени от TestDisk, както и изкопаване в изходния код на тази програма, аз осъзнах, че един от критериите, по които се определят TestDisk файловите системи - размера на диска. В «emfat» размер на пример за подражание диск зависи от количеството на данни за него. По този начин, ако на диска има един или повече малки файлове, както и размера на диск, няма да надвишава 16 MB. Ако FAT32 налага ограничения върху минималния размер на обема - не по-малко от 65527 клъстери. Предвид факта, че в «emfat» един клъстер заема 4096 байта, за да отговори на размера на FAT32 диск трябва да бъде 65 527 * 4096
268Mb. В действителност това не е така, и това причинява грешката при определяне на вида на файловата система. Опитвайки се да се увеличи обема на диска, увеличаване на размера на пример за подражание на файлове до 400 MB не работи - може би все още има нещо, не е удобно. Затова реших да се римейк «emfat» да подражават на файловата система FAT16.
В крайна сметка, тя се провали, и устройството започва правилно да открие всички устройства:
Трябва да се отбележи, че FAT16 също е на ограничението за размера на диска - не по-малко от 4087 клъстери, че е 16 MB в този случай. За да се изпълни това условие е необходимо да се създаде виртуална файлова до 20 MB в «emfat».
Консултирайте се с фото рамка е нормално - рамката е успешно извежда тест изображение, съхранено в Flash контролер на паметта. На следващия етап - сключване на потребителски изображения. Най-лесният начин да подражава BMP файлове - те имат доста проста структура, изображението може да бъде 256-цветен, т.е. един пиксел има един байт. Това е само в този случай, за съхраняване на размера на изображението на 800 * 600 ще трябва 480 KB оперативна памет. В този микроконтролер памет там, и затова ние оставаме една опция - да формират изображение "в движение". Операционната принципа на следното - в случаите, когато исканията за домакин на устройства за данни за съхранение на такива файлове, «emfat» призовава за обратно извикване-функция, съответстваща на този файл. В тази функция се прехвърля брой сектор, от който се иска данните, а индексът за които тези данни трябва да бъдат записани. Познаването на броя на секторите, че е възможно да се определи коя част от изображението поиска и да го оформи.
В хода на експеримента показа неприятен факт - Windows може да задава въпроси на данни от секторите, които не са в реда, в който се появи. Защо го е направил - не е ясно, но това усложнява формирането на изображения в движение, тъй като трябва да се изчисли броят но сектора - част от данните се иска в този момент. Друг проблем - низ в BMP файлове идват от долу нагоре, което допълнително усложнява изчисляването на позицията.
За да се покаже текст, който използвах mcufont библиотека. Той е удобен, тъй като позволява използването на компресирани шрифтове, поради което използването на Flash памет е намалена значително. Така че аз бях доста големи шрифтове, тази функция е доста важно.
Тази библиотека директно пише генерираното изображение в паметта, така че е необходимо да се отпуснат отделен масив в RAM за библиотеката.
Осъзнах също чертежа изображенията от контролера на паметта. Всички изображения, както и текста показва в черно и бяло, като по този начин в един байт на изображението могат да се съхраняват информация за 8 пиксела. За да конвертирате обикновени изображения във вид, подходящ за връзка с проекта, LCD помощник програма е била използвана.
В резултат на това свързано устройство USB памет се формира от изображението по този начин:
След операцията по програма е била проверена въз STM32F4DISCOVERY, направих самото устройство, което е микроконтролер свързан с безжична модул върху него ESP8266. От подходящ бях само контролер STM32F107RCT7.
Схема за да получите устройството от доста проста:
Но поради ограниченията за размера на дъската - 17x36mm (Бях планирал да го инсталирате в готовата сграда) и големия размер на платката на контролера, не е най-лесно да произвеждаме - двустранно, с монтаж части и от двете страни. Въпреки това, някои електропроводи трябваше да се направи жица.
Вид на получите роклята (в процеса на отстраняване на грешки, заедно с ESP-01 модул):
Когато се посочва таксата е най-подходящ WiFi ESP-03 блок. Ето какво получения съвет вече е инсталиран модул:
И от администратора:
По време на експериментите е установено, че керамична чувствителност антена ясно не е достатъчно - модул за лесно свързване към рутера. След свързване на сключването WIFI_ANT парче тел чувствителност дължина 31 mm значително подобрява и стана подобен на чувствителността на ESP-01. Мястото, където фото рамката е инсталиран за постоянно, се намира на няколко метра от рутера, и тя работи добре и родния антена модул, така че да няма допълнителни снимки антена.
Откога ESP8266 постоянна работа доста разгорещен, реших да го включи само когато искания за информация. Управление на захранването може да се извърши с помощта на CH_PD изходящия модул. Преводът на този изход на 0 олово в ESP8266 отива в режим на ниска мощност.
С цел да се направи по-лесно да се тества операция ESP8266, аз написах за отделен микроконтролер фърмуер, който реализира USB-UART моста. Именно чрез нея настройка същество модул за работа с рутера, така че след преминаване ESP8266 автоматично се свързва с него.
Принципът на работа на получения устройството е съвсем проста - на всеки 10 минути, контролерът се опитва да изиска данни от сървъра, и ако това не помогне, да актуализира данните за времето. Данните за текущата температура и прогнозата за 3 дни напред openweathermap.org взети от сайта, информацията за температурата вътре и отвън на балкона - в майордома сървър. В същото време, той поиска рамка за изображение на картината на всеки 6 секунди при отварянето на актуална информация. Тъй като могат да настъпят едновременно двата процеса, за получаване на данни от ESP8266 използва DMA.
В резултат на това, изображението е показано тук е на рамката: