Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JS -- serial port (https://javascript.ru/forum/misc/13842-js-serial-port.html)

dmitriymar 16.12.2010 21:47

Цитата:

Сообщение от x-yuri
это я в терминологии собеседника выразился... чес слово, больше не буду

а я не пионер-так что ничего меня не изменит!!!

madmax 20.12.2010 01:37

O_0 - вот сдесь много чего написано))
Собственно задачу я решел - используем TinkerProxy, и встроенные классы флеша,из JS передаем код в флеш из флеша в сервер от туда в Arduino.
Но мне не нравится это решение оно по моему не хакерское какое-то:)
Пришлось что-бы флешь в странице ,баги не давал ставить Apache и работать через него - и что же получилось пользователь должен ставить
TinkerProxy (настраивает конфиги, ), Apache (и они оба будут в трее болтатся), причем в некоторых ситуациях получились баги это плохо.

Я решил нужно попробывать другой путь - можно ли JS законектится к TinkerProxy это вроде сервера, если нет тогда Python, или что вероятней PHP, раз уж без сервера ни как что уж тогда))
Что скажете господа?

x-yuri 20.12.2010 02:02

а apache зачем? Расскажи про баги

еще можешь попробовать посмотреть Adobe AIR или написать свой http-сервер: высоких требований к нему нету - так как он только для одного пользователя - и должно быть достаточно вариантов, как это быстро сделать

madmax 20.12.2010 02:30

Цитата:

Сообщение от x-yuri (Сообщение 84499)
а apache зачем? Расскажи про баги

еще можешь попробовать посмотреть Adobe AIR или написать свой http-сервер: высоких требований к нему нету - так как он только для одного пользователя - и должно быть достаточно вариантов, как это быстро сделать

Апачь нужен для того - того... я не знаю для чего:) . Если запускаю просто из папки страницу (HTML+JS+FLASH) то передача данных из JS to Flash работает только в IE, реализацию использовал с вашего же сайта, а второй баг
есть код на AS3
import flash.errors.*;
import flash.events.*;
import flash.net.Socket;
import flash.external.ExternalInterface;
var arduinoSocket:Socket = new Socket("localhost",5333);
ExternalInterface.addCallback("sendFromJS",  recieveFromJS);
//ExternalInterface.addCallback("sendFromJS",
							  
	function recieveFromJS(str:String):void {
        try {
           arduinoSocket.writeUTFBytes(str); 
			arduinoSocket.flush();
        }
        catch(e:IOError) {
            trace(e);
        }
    }

он получен из двух кусков один я взял с вашего примера это
ExternalInterface.addCallback("sendFromJS",  recieveFromJS);

и все что к ней примыкает и все остальное это запись в сериал порт.
Проблема в том что по отдельности это работает я могу передать в Flash из JS данные, могу Flash отправить в Arduino, но в связке они не работают, в AS эти функции я не знаю и поэтому не могу найти ошибку вот:D

x-yuri 20.12.2010 06:15

прикрепи какой-нибудь тестовый пример к сообщению - попробую у себя. Первое может быть связано с какими-нибудь настройками безопасности...

madmax 21.12.2010 13:14

Вложений: 1
Сокет сервер, и файлы из htdocs апача

x-yuri 25.12.2010 08:05

Вложений: 1
во-первых по поводу безопасности: флешка не может и общаться с сетью, и с локальными файлами. За одним исключением, если ты пометил ее как trusted (поместил в local-trusted sandbox). Это делается, например, в Settings Manger. Но может быть задано и на других уровнях. Помимо этого, надо разрешить доступ js->swf (Security.allowDomain("*")). Прикрепил рабочий пример

Цитата:

Сообщение от madmax
Проблема в том что по отдельности это работает я могу передать в Flash из JS данные, могу Flash отправить в Arduino, но в связке они не работают, в AS эти функции я не знаю и поэтому не могу найти ошибку вот

ты попадаешь в recieveFromJS? Получаешь нужную строку? Что значит не работают?

p.s. повторюсь: тебе же нужно декстопное приложение, которое можно писать с помощью html/css/js. Насколько я знаю, этим требованиям соответствует Adobe AIR


Часовой пояс GMT +3, время: 14:42.