roboforum.ru

Технический форум по робототехнике.

dccharacter - Излить посильно

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: dccharacter - Излить посильно

Сообщение elmot » 18 апр 2013, 15:38

Ну возьми на свои любимые 433мгц
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 16:15

433мгц и радиоуправление моделями - вещи несовместимые (как и 2.4 ггц.)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение galex1981 » 18 апр 2013, 16:19

Дмитрий, поясни пожалуйста, чем плохи 433 Мгц и 2,4 Ггц для радиоуправления?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: dccharacter - Излить посильно

Сообщение yozik0ff » 18 апр 2013, 16:31

Извините что влезаю в тему. Отвечу на последний вопрос.
433мгц - негодится, на этой частоте работают сигналки, они выдают такие помехи, что радиоуправа будет безбожно глючить.

2.4ггц - тут не так однозначно, для лодок и всяких субмарин, которые плавают на воде такая частота негодится, ибо почемуто небольшая рябь на воде глушит сигнал. Также камыши, что возле берега тоже сильно влияет на сигнал.
В тоже время, если управлять автомоделью, то 2.4 ваще кросота! Ибо связь идет двухсторонняя, и можно еще на передатчик получать телеметрию, об уровне заряда батарей и температуру двигателя.

Еще заметил, что на дешовой аппаратуре, часто теряется сигнал, и приемник начинает инциализироватся, что приводит к секундным провалом в управлении. Порой эти секунды очень критичны, и в случаии потери связи можно запросто убить модель.
Аватара пользователя
yozik0ff
 
Сообщения: 440
Зарегистрирован: 28 авг 2005, 08:30
Откуда: деревня - Тюмения
прог. языки: с++

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 16:33

На 433 мгц. модель перестает принимать управление от каждого нажатия кнопки брелка автомобильной сигналки, про автомобильные 1-ваттные пейджеры охраны, излучающие всегда в эфир вообще молчу. Про 2.4 кажись очевидно? Все вифи сети - твои. На 5 метрах будет работать, а с увеличением радиуса дальности, жопппппппа с передачей сигнала увеличивается в 3-й степени расстояния :)
В деревне можно...

Добавлено спустя 33 секунды:
Ну, за меня ответили :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение Madf » 18 апр 2013, 16:35

так вообще и на 800 дофигища тоже устройств (радио телефоны, мобилы..)
а вот часики так подешевели - супер, только да, из-за закона...хз проглядит таможня или нет, думаю попробовать заказать можно, если что уйдёт обратно и вернут деньги
мне тут триниумовские фитюльки приходили как в брелках, так и в капсулах, по идеи они тоже вроде не особо разрешены, но прошли как-то...
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 16:41

Madf писал(а):так вообще и на 800 дофигища тоже устройств (радио телефоны, мобилы..)

Если ты на 800 мгц. будешь срать в эфир как на 430 и 2.4, то к тебе завалят бритые парни "служба безопасности GSM" в течении 30 мин. :)
Там на порядок жестче требования к говнопередатчикам. Поэтому и есть сложности ввоза к нам передатчиков на эти диапазоны.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение Madf » 18 апр 2013, 16:43

только это не объясняет плюсовость 800 диапазона )
выходит всё занято и проблемы могут быть везде
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 16:47

все обьясняет...

Добавлено спустя 2 минуты 39 секунд:
Madf писал(а):выходит всё занято и проблемы могут быть везде

На 433 передатчики некварцованные, излучают где хотят. А каналы не заняты, просто когда обезьяна с гранатой выходит на дорогу, все идут лесом
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение elmot » 18 апр 2013, 18:04

Dmitry__ писал(а):
Madf писал(а):так вообще и на 800 дофигища тоже устройств (радио телефоны, мобилы..)

Если ты на 800 мгц. будешь срать в эфир как на 430 и 2.4, то к тебе завалят бритые парни "служба безопасности GSM" в течении 30 мин. :)
Там на порядок жестче требования к говнопередатчикам. Поэтому и есть сложности ввоза к нам передатчиков на эти диапазоны.

На 800 нет мобил. Были 850, но сплыли. Есть 900.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 18:10

elmot писал(а):На 800 нет мобил. Были 850, но сплыли. Есть 900.

Аааа, ты меня поймал :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение Angel71 » 18 апр 2013, 18:16

Dmitry_, а для каких целей передатчики нужны? в смысле если не сильно критично время и не смущает пожирание кучи кбит/с, можно не отказываться от протоколов (помниться кто-то simplicit очень сильно хотел отвязать), а наоборот посмотреть какие протоколы с данными чипами можно прикрутить и в каких из них на различных уровнях получше с гарантированной доставкой пакетов. в некоторых протоколах реализуется получение софтиной сообщения, что пакет не дошел, а отсылать ли заново или нет уже софт решает.
Последний раз редактировалось Angel71 18 апр 2013, 18:18, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: dccharacter - Излить посильно

Сообщение Madf » 18 апр 2013, 18:17

выходит самая вкусная частота) не зря её запретили
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 18 апр 2013, 18:49

Angel71 писал(а):Dmitry_, а для каких целей передатчики нужны?

Конкретных целей нет, отметаются на начальной стадии все косяки (по опыту)

Dmitry__ писал(а):
elmot писал(а):На 800 нет мобил. Были 850, но сплыли. Есть 900.

Аааа, ты меня поймал :)

Вот таки гонишь ты :)
Лично наблюдал на сканере палки на спектре 800 мгц диапазона.
И вот тебе:
Цифровой GSM-900
- рабочий частотный диапазон БС: 925-965 МГц;
- рабочий частотный диапазон РТ: 890-915 МГц.

http://www.vrednost.ru/pole.php

Добавлено спустя 2 минуты 56 секунд:
Только не говори, что ты подумал прямо про 800 мгц. В часах 868 мгц, и лень смотреть на сколько там синтезатор перестраивается...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 20 апр 2013, 23:02

Конгениальный скрипт для генерации относительных путей для IAR. Все, конечно же, сводится к команде relpath, остальные строчки - так просто...
Запускаем, выбираем папку проекта, потом папку библиотеки, копируем готовый путь

Код: Выделить всёРазвернуть
from Tkinter import *
from tkFileDialog import askdirectory
import ttk
import os.path as op
import ConfigParser
import sys

configFile = op.join(sys.path[0], 'LibPathGenerator.cfg')

class FolderChooser(Frame):
    def __init__(self, parent, label = ''):
        Frame.__init__(self, parent)
        self.parent = parent       
        self.value = StringVar()
        self.label = label
        self.initGui()

    def initGui(self):
        l = ttk.Label(self, text = self.label)
        l.grid(row=0, column=0)
        i = ttk.Entry(self, textvariable=self.value)
        i.grid(row=0, column=1)
        b = ttk.Button(self, text='Choose', command=self.btnPressed)
        b.grid(row=0, column=2)
        self.grid_columnconfigure(1, weight=2)
       
    def btnPressed(self):
        askDir = askdirectory(parent = self.parent, initialdir = "/",
                         title='Please select directory')
        if askDir:
            self.value.set(askDir)       

class MainWindow(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.master = master
        self.rText = StringVar()
        self.prjDir = FolderChooser(self.master, 'Project dir:')
        self.libDir = FolderChooser(self.master, 'Library dir:')
        self.cfg = ConfigParser.ConfigParser()
        self.initGui()

    def initGui(self):       
        self.prjDir.pack()       
        self.libDir.pack()
        b = ttk.Button(self.master, text='Generate!', command=self.btnPressed)
        b.pack()
        r = Entry(self.master, textvariable = self.rText, state='readonly')
        r.pack(fill=X, expand = 1)
        self.cfg.read(configFile)
        try:
            self.libDir.value.set(self.cfg.get('LastPaths', 'LibDirLastPath'))
            self.prjDir.value.set(self.cfg.get('LastPaths', 'PrjDirLastPath'))
        except ConfigParser.NoSectionError, ConfigParser.NoOptionError:
            self.initConfig()
            self.libDir.value.set(self.cfg.get('LastPaths', 'LibDirLastPath'))
            self.prjDir.value.set(self.cfg.get('LastPaths', 'PrjDirLastPath'))
        self.btnPressed()
       
    def btnPressed(self):
        try:
            self.rText.set("$PROJ_DIR$\\"+op.relpath(self.libDir.value.get(), self.prjDir.value.get()))
            if not self.cfg.has_section('LastPaths'):
                self.initConfig()
            self.cfg.set('LastPaths', 'LibDirLastPath', self.libDir.value.get())
            self.cfg.set('LastPaths', 'PrjDirLastPath', self.prjDir.value.get())
            self.writeConfig()
        except ValueError as e:
            self.rText.set('Error: '+str(e))
       
    def initConfig(self):
        self.cfg.add_section('LastPaths')
        self.cfg.set('LastPaths', 'LibDirLastPath', '/')
        self.cfg.set('LastPaths', 'PrjDirLastPath', '/')
        self.writeConfig()

    def writeConfig(self):
        with open(configFile, 'wb') as cf:
            self.cfg.write(cf)

if __name__ == '__main__':
    root = Tk()
    app = MainWindow(root)
    root.mainloop()


Добавлено спустя 3 часа 58 минут 39 секунд:
Блин, на STM32F4-Discovery SysTick работает ровно в три раза медленнее, чем надо в одном из проектов. Рядом открыт пример от СТМ - работает четко. Код в main() и обработчиках - идентичен. Т.е. где-то что-то напортачено с клоками. Несколько часов сижу, не могу поймать. Переписать заново - не вариант, ибо борюсь с развеситым USB-примером... Никто не вляпывался?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Блоги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3