Как я понял, Ардуино (еще нашел Raspberry Pi и Lego Mindstorm) - это такие платы, в которых есть процессор, оперативная память, даже примитивный монитор - по сути упрощённые компьютеры. Эти платы созданы так, что они легко расширяются - можно в них втыкать моторы и упомянутый вами ESP8266 - модуль вайфая. И для них есть свои языки, как говорят, лёгкие в обучении, так?
Про лего не скажу, но там и цена странная и возможности так себе.
Ардуино - это действительно платка с контроллером и некоторой обвязкой. Экрана в базовой версии нет, но его можно подключить. Но есть упрощенные модели ардуины, в том числе китайские клоны. И самое крутое - можно купить отдельно чип контроллера, и работать напрямую с ним. Аттини стоит 30-40 центов, например.
Про языки программирования: внутри контроллера все равно будет крутиться ассемблер. Но под самые распространенные модели есть IDE и компиляторы, способные загонять туда даже программы написанные на javascript. Ардуина основана на atmega-вском чипе, а младшие версии этих чипов имеют ту-же архитектуру, только чуть помедленее, ножек поменьше и памяти поменьше. В итоге нетребовательные к ресурсам прошивки можно перенести с ардуины на аттини почти без изменений кода.
ESP8266 - не просто модуль файфая - это контроллер со встроенным файфаем. Т.е. и мозги и память и файфай - всё внутри одной вот такой штучки:
А с минимальной платкой с обвесом получится примерно так:
К примеру для того, чтобы делать такие вентиляторы на продажу.
Я какбы уже догадался, что вы хотите сделать что-то на продажу, потому и указываю цены. Attiny13 обойдутся в 28 центов/шт при покупек 10 штук на алиэкспрессе. Если закажете их тысячами у производителя - будет дешевле.
Что там внутри? Аналогичная плата с процессором и оперативной памятью?
Кристофер Ллойд, перелогиньтесь! У вас снова сломалась машина времени?
ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ производятся с конца восьмидесятых, и сейчас уже стоят копейки. Там на одном кристалле и процессор и память и куча всего. atmega, attiny, stm32
SoC - System on Chip - более крутая и современная штука, но для ваших целей слишком крутая, наверное (потому что дороже). Это ядро всяких телефонов.
Есть и другое всякое, вплоть до intel edison, на котором можно win 10 запустить!
Значит, там есть своя внутренняя программа (на чем она написана?) и на компьютер ставится программа, чтобы он мог управлять этим принтером, так? Как это всё связывают вместе? Как это всё работает?
Это в комментарии не уместится. Почитайте про архитектуру вычислительных систем, про устройство процессоров.
Да, для работы с самодельной периферией придется что-то писать. Если это что-то фабричное или широко распространенное - скорее всего есть готовые решения. Примерами управления движком забит весь интернет, например.
В любом процесоре - и в вашем десктопе, и в телефоне. и в контроллере стиральной машинки "внутренняя программа" - набор машинных кодов. Ближе всего к ним идет ассемблер, но и для других языков есть компиляторы, которые генерируют машинные коды или байткод. Если вы выбираете именно по поддержке языков - присмотритесь к атмеловским контроллерам. На волне популярности ардуино было очень много всего сделано для компиляции под атмегу и аттини заодно.
hollanditkzn: Это не совсем шутка. Если у вас белый внешний айпи, и если у него есть логи, посмотрите с каких стран вас сканят. Китайцы чуть ли не чаще всего остального мира сканят адреса наугад. А сканеры безопасности сейчас могут не только найти дыру и дать ссылку на описание эксплоита, но в ряде простых случаев позволяют проэксплуатировать эту дыру в один клик.
hollanditkzn: Если это лабораторка или проект для "поиграться и выбросить", то конечно на нее плевать. но если это когда-нибудь будет работать в интернете, то любой 12-летний китайский кулхацкер со сканером безопасности превратит ваш сайт в тыкву.
Тогда при загрузке файла "myPicture.jpg" в src картинки будет "/image/img/myPicture.jpg", что и требовалось.
А теперь придирки:
1. Переменная называется $uploadDir, что подразумевает папку для загрузок файлов, а на самом деле там путь к файлу.
2. При составлении этого пути не используется даже basename, не говоря уж про более тщательные проверки. Т.е. достаточно при загрузке подделать имя файла указав что это не "myPicture.jpg", а например "../../shellscript.php" и вот он уже загружен не в папку /image/img, а в корень сайта. Можно даже index.php заменить!
3. json все еще без заголовков, но пока работает - фиг с ним.
1. Вы хотите вывести сообщение с ошибкой в интерфейсе, или с какой целью вы делаете эти ваши echo ' - Неизвестная ошибка';? Вы понимаете, что echo "..." отдаст браузеру строку текста а не json?
lexstile: можно конечно, .replace() может принимать в качестве замены не только строку, но и функцию. Ссылку на документацию я приводил же. https://jsfiddle.net/8y6r78k6/3/
Bjornie: Не совсем понятно какая у вас стоит цель. Вам нужна целостность данных или производительность? Приемлимо ли, что часть потомков осталась болтаться без родителя? Может вам вообще on delete cascade подойдет, чтобы потомки-сироты сами удалялись вслед за родителями.
hollanditkzn: Можно и так и этак. При некоторых настройках сервера относительные пути могут чудить, поэтому лучше вычислять абсолютный, на основе $_SERVER['DOCUMENT_ROOT'] или __DIR__ или еще какого-нибудь из пары десятков способов составить этот путь.
hollanditkzn:
1. я в dev-tools браузера могу убрать этот ваш accept. Или могу вообще не через браузер файл отправить, curl'ом, например. И в этом файле может быть не картинка, а shell-скрипт.
2. это уже больше похоже, но, в новом имени файла должен быть еще и путь к папке, куда вы хотите картинку сохранить.
И перед отправкой json желательно заголовок отправить, типа Content-Type: application/json. подробнее посмотрите в примере, который я линканул. Там-же параметры для правильного кодирования всяких проблемных символов в json.
И у вас все еще нет практически никаких проверок. На этапе обучения фиг с ними, но в реальном проекте о безопасности думать придется.
Как это, одновременно работающих? В том-же set_exception_handler можно последовательно их запускать, если ваши обработчики конечно не делают exit(), например.
Дмитрий: Если вы добавите defer ко всем скриптам, то они загрузятся именно в том порядке, в каком прописаны. Но я уверен, что некоторые из них не нужны в первые доли секунды отрисовки страницы. touchswipe.min.js нужен? jquery.maskedinput.min.js тоже нужен с первых мгновений?
Скорее всего их можно грузить с async.
Про лего не скажу, но там и цена странная и возможности так себе.
Ардуино - это действительно платка с контроллером и некоторой обвязкой. Экрана в базовой версии нет, но его можно подключить. Но есть упрощенные модели ардуины, в том числе китайские клоны. И самое крутое - можно купить отдельно чип контроллера, и работать напрямую с ним. Аттини стоит 30-40 центов, например.
Про языки программирования: внутри контроллера все равно будет крутиться ассемблер. Но под самые распространенные модели есть IDE и компиляторы, способные загонять туда даже программы написанные на javascript. Ардуина основана на atmega-вском чипе, а младшие версии этих чипов имеют ту-же архитектуру, только чуть помедленее, ножек поменьше и памяти поменьше. В итоге нетребовательные к ресурсам прошивки можно перенести с ардуины на аттини почти без изменений кода.
ESP8266 - не просто модуль файфая - это контроллер со встроенным файфаем. Т.е. и мозги и память и файфай - всё внутри одной вот такой штучки:
А с минимальной платкой с обвесом получится примерно так:
Я какбы уже догадался, что вы хотите сделать что-то на продажу, потому и указываю цены. Attiny13 обойдутся в 28 центов/шт при покупек 10 штук на алиэкспрессе. Если закажете их тысячами у производителя - будет дешевле.
Кристофер Ллойд, перелогиньтесь! У вас снова сломалась машина времени?
ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ производятся с конца восьмидесятых, и сейчас уже стоят копейки. Там на одном кристалле и процессор и память и куча всего. atmega, attiny, stm32
SoC - System on Chip - более крутая и современная штука, но для ваших целей слишком крутая, наверное (потому что дороже). Это ядро всяких телефонов.
Есть и другое всякое, вплоть до intel edison, на котором можно win 10 запустить!
Это в комментарии не уместится. Почитайте про архитектуру вычислительных систем, про устройство процессоров.
Да, для работы с самодельной периферией придется что-то писать. Если это что-то фабричное или широко распространенное - скорее всего есть готовые решения. Примерами управления движком забит весь интернет, например.
В любом процесоре - и в вашем десктопе, и в телефоне. и в контроллере стиральной машинки "внутренняя программа" - набор машинных кодов. Ближе всего к ним идет ассемблер, но и для других языков есть компиляторы, которые генерируют машинные коды или байткод. Если вы выбираете именно по поддержке языков - присмотритесь к атмеловским контроллерам. На волне популярности ардуино было очень много всего сделано для компиляции под атмегу и аттини заодно.