?

Log in

Итак, пятничный вечер. Чем бы развлечь себя? О! Доведу-ка я до ума приемник авиадиапазона, что я купил себе на Новый Год.

IMG_20140725_224840

Данный приемник продавался в виде набора "сделай сам", плата + кучка деталек. Позиционировался как "спаял - включил - работает".  Но вот работать сразу не захотел, и был отложен на полку. Проблема была в том, что вместо авиадиапазона из динамика бодро орало радио "Шансон", и прочие местные FM станции. Как можно догадаться, китайский автор данной схемы немного промахнулся в колебательном контуре, в результате чего частота приема сползла вниз.

Так как делать нечего, исправим эту маленькую оплошность. Открываем схему.

b39e2585cb5308d55af0f24820c02170

Так.. Все крутится на микросхеме-миксере NE602, микросхеме-демодуляторе MC1350, и трех операционных усилителях. Нас интересует обвязка вокруг миксера NE602, ибо в ней генерируется сигнал для смешивания с эфирным. Открываем даташит, и читаем что входом для осциллирующего сигнала являются ноги 6 и 7. Изучаем что там такое к ним идет. Видим элементарный LC колебательный контур из катушки, конденсатора C14 и варикапа D1. Крутим ручку насторойки частоты -> меняется напряжение на варикапе -> меняется его емкость -> меняется общая емкость C14 и варикапа -> меняется частота колебательного контура.

Так как катушки выполнены в виде дорожек на печатной плате, и повлиять на их емкость нельзя, поиграем с конденсатором С14. По схеме он 27 пФ. Впаиваем 18 пФ. Проверяем. О! Радио Шансон и прочие, исчезли. Осталось лишь 2 станции на краю вещательного FM диапазона. Мы на верном пути! Впаиваем на 10 пФ. Включаем. Тишина. Музыки и болтовни ведущих нет. Уже хорошо. Крутим ручку настройки... Опа! Слышим АТИС на частоте 127.000. Радуемся!

P.S. Как показал мой печальный опыт, все китайские радиоконструкторы жутко не любят питаться от моего блока питания ROBITON. Хорошо и бесшумно работают только от "Кроны".

IMG_20140705_175503
Купил себе такую внешнюю звуковушку в Ситилинке для будущего APRS маяка. Почитал комменты - а там народ жалуется что эта звуковуха греет наушники, и очень быстро умирает. Там же в комментах пояснено почему так происходит - в аудиовыходе отсутвуют оконечные конденсаторы, и на выходе висит постоянная составляющая.

Ну что ж.. берем паяльник и доделываем за нашими узкоглазыми братьями.

IMG_20140705_171449

На фото я обвел места под оконечные конденсаторы. Вместо них сейчас просто отверстия, а между отверстиями - перемычки. Берем острый нож, разрезаем перемычки меж контактными площадками.

IMG_20140705_172120

Я решил напаять SMD конденсаторы сзади.

IMG_20140705_174633

Ну вот и все. Собираем, выткаем, и проверяем. Работает!

Tags:

Hack

Оригинал взят у xkcd_rss в Hack

Итак, небольшая заметка.

Понадобилось мне обрабатывать данные идущие с АЦП. Сам АЦП был прицеплен к RaspberryPi. Первая мысль которая возникла - дописать необходимые мне функции прямо в программу что опрос АЦП выполяла. В процессе реализации этой первой мысли появилось желание визуализировать идущие данные в виде графика. И задумался я. К моей малинке не подключен монитор, иксы не запущены, и места ставить сторонний софт нет. И решено было делать красиво - отдавать данные в GnuRadio, и там их с комфортом обрабатывать и визуализировать.

Было проведено небольшое исследование, в каком формате GnuRadio передает данные через блок TCP Sink

Сначала я организовал простую схему: Signal Source (Square, 10 sampl/sec, 1Hz) -> Throttle -> File Sink. Тип данных везде использовался float

data_hex

Как видно есть 5 похожих последовательностей.  Длина одной последовательности - 64 бита. С учетом того, что использовался только float тип данных, первые 32 бита отведены для использования при передаче комплексных чисел. Затем я проверил свою догадку запустив wireshark и сняв дамп трафика между блоками TCP Sink и TCP Source (кстати следует учесть что эти блоки не работают, если помещены на одной схеме). Wireshark показал что при передаче используется такая же структура.

Ну что ж, если схема передачи значений ясна, то пора приступать к делу. Из сверхполезной книги Робачевского "Операционная система UNIX" был выдран образец tcp сервера, и грязно скрещен с программой считивания данных с ADC. Результат - блестящий! GnuRadio без всяких проблем соединился с моим самописным сервером, и начал обрабатывать данные.
Далее скриншоты...

Схема приема и визуализации

simple_adc_visualisation
Схема в работе:

adc_run

Port forwarding в VirtualBox NAT

Сделаю записульку по NAT в VirtualBox.
Для перенаправления порта гостевой машины, следует добавить в xml файл в секцию ExtraData следующее:
<extradataitem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/GuestPort" value="3389"></extradataitem>
<extradataitem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/HostPort" value="3390"></extradataitem>
<extradataitem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/Protocol" value="TCP"></extradataitem>


В данном примере перенаправляется порт 3390 хостовой машины на порт 3389 гостевой машины при использовании виртуальной сетевой карты PCnet.

Вечный источник лулзов.

Когда мне становится скучно, я набираю во вконтактике в видеопоиске "сатанизм". И настроение мое сразу уличшается от многочисленных клоунов и душевнобольных.
Вот и сейчас.



Доставляет его голос. Именно таким голосом были озвучены видеоролики в Diablo II.
Значаца так. Лежу я сейчас на диване, ползаю по инету. И захотелось мне поюзать интернет на своем смарте Asus P750. Так как я сейчас нахожусь вдали от дома, то следовательно, любимая Wi-Fi точка доступа с быстрым каналом мне недоступна. Имеется под рукой ADSL модем Huawei o 64 килобитах, и ноут. Задача - из имеющегося обороудования сделать роутер и точку доступа. Поехали!

1 Точка доступа.

В файле /etc/rc.conf указываем следующие вещи.
wlans_ath0="wlan0" #FreeBSD c 8 версии работает с псевдоустройствами wlan
create_args_wlan0="wlanmode hostap" #Указываем режим работы - точка доступа
ifconfig_wlan0="inet 10.11.12.1 netmask 255.255.255.0 ssid ghostnet mode 11g channel 1" # Тут надеюсь все ясно.

Включаем беспроводную карту. В выводе ifconfig видим что карточа теперь в режиме точки доступа:

wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:1b:2f:60:33:7c
        inet 10.11.12.1 netmask 0xffffff00 broadcast 10.11.12.255
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: running
        ssid ghostnet channel 1 (2412 Mhz 11g) bssid 00:1b:2f:60:33:7c
        country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60
        protmode CTS wme burst dtimperiod 1 -dfs


2 Роутер

На тему создания роутера на FreeBSD написано множество статей, так что тут ничего нового. Внешний интерфейс у нас будет em0, а внутренний - wlan0.
Включаем маршрутизацию.
igor@ghost64% sudo sysctl net.inet.ip.forwarding=1
Я это сделал через sysctl, так как мне это нужно не постоянно. Если хотите маршрутизацию на постоянной основе, добавьте в файл /etc/rc.conf gateway_enable="YES"
Итак, маршрутизация включена. Теперь включим NAT, и как его следствие - фарволл.
В файл /etc/rc.conf добавим:
natd_enable="YES"
natd_interface="em0"

Включаем natd:
sudo /etc/rc.d/natd start
NAT запустился, и включил фаерволл. Следовательно, настроим правила фаерволла. Они будут самыми простыми.
sudo ipfw add 100 divert 8668 ip4 from any to any in via em0
sudo ipfw add 200 divert 8668 ip4 from any to any out via em0
sudo ipfw add 300 allow ip from any to any

Готово. Роутер с NAT'ом работает.

3 Делаем красиво

На предыдущем пункте уже можно остановится. Ноут теперь может выводить смартфон в Интернет, надо лишь прицепится к беспроводной сети, и прописать сетевые настройки у смарта. Хм, прописать... А может это делать автоматом? Через DHCP? И еще бы неплохо настроить DNS сервер. Но тащить BIND и isc-dhcpd... И настраивать... Да ну нафиг. Поищем что полегче. Гуглим, и находим Dnsmasq. DNS, DHCP и TFTPD сервер в одном флаконе. Идем в /usr/ports/dns/dnsmasq/, произносим волшебную команду sudo make install clean
Итак, dnsmasq установился. Редактируем файл /usr/local/etc/dnsmasq.conf Опций в этом конфиге много, и все интересные. Но нам они пока не нужны. У меня получился такой конфиг:

domain-needed
bogus-priv
interface=wlan0
no-hosts
domain=laptop.local
dhcp-range=10.11.12.2,10.11.12.50,1h
dhcp-authoritative
cache-size=150
no-negcache
log-queries
log-dhcp


Добавляем в /etc/rc.conf:
dnsmasq_enable="YES"
И запускаем его:
/usr/local/etc/rc.d/dnsmasq start

Все! Можно подключаться со смарта, получать по DHCP параметры, и серфить в Инете.

Записульки о Фре.

Если у вас, во Фре 7.3 и 8.0 после копирования /boot/defaults/loader.conf в /boot/loader.conf при загрузке ядра стали наблюдаться следующие глюки:

Loading: /boot/defaults/loader.conf
Loading: /boot/defaults/loader.conf
Loading: /boot/defaults/loader.conf
Loading: /boot/defaults/loader.conf
Loading: /boot/defaults/loader.conf
Error: stack overflow
|
can't load 'kernel'

Type '?' for a list of commands, 'help' for more detaild help.
OK _

То:
1. Не пугайтесь :)
2. Наберите boot. Ядро нормально загрузится.
3. Закомментируйте в /boot/loader.conf параметр loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local"
4. Have fun.

Tags:

Итак, сходил я на эту "Алису в стране чудес" в 3D. Про саму технологию трехмерности ничего писать не буду, кроме фразы "кошерно, одобрено равинатом". А теперь прокачусь по самому фильму.
Понеслась!Collapse )

Tags:

Latest Month

July 2014
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Lilia Ahner