В этой статье показано как с помощью одноплатного компьютера и Pi4J сделать мигающий светодиод. Можно сказать, что это первый «урок для начинающих» из этой серии.
Проект Pi4J — это мост между оборудованием Raspberry Pi и Java с объектно-ориентированным подходом. Pi4J — проект с открытым исходным кодом. В дополнение к базовым функциональным возможностям доступа к аппаратным средствам, этот проект также пытается предоставить набор расширенных функций, которые делают работу с Raspberry Pi простой в использовании и более удобной для Java-разработчиков.
И так, для начала нужно установить библиотеки Pi4J на ваш компьютер. Pi4J поддерживает следующие платы: Raspberry Pi, Banana Pi, Banana Pro, Synovoip BPI, Odroid, Orange Pi и NanoPi. По умолчанию Pi4J настроен под Raspberry Pi.
Необходимые компоненты
Чтобы зажечь светодиод понадобится:
- одноплатный компьютер (в моём случае — это Orange Pi PC);
- светодиод;
- резистор 220 Ом.
Подключение светодиода
Мы подключаем резистор сопротивлением 220 Ом к выходу номер 24 (GPIO.24), к резистору в свою очередь подключаем анод (обычно длинная ножка) светодиода. Катод подсоединяем к земле (GND или 0v).
определить какой пин 24-й, так это колонка wpi после выполнения gpio readall
.
Инициализация компонентов
Если у вас есть Raspberry Pi, тогда вам не надо выбирать платформу. У меня Orange Pi PC, по этому я должны явно указывать платформу — Orange Pi.
PlatformManager.setPlatform(Platform.ORANGEPI);
Перед взаимодействием с Pi4J мы должны сначала создать экземпляр контроллера GPIO. GpioFactory
включает метод getInstance
для создания контроллера GPIO. Проект будет содержать только один экземпляр контроллера GPIO, так как паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
final GpioController gpio = GpioFactory.getInstance();
Чтобы получить доступ к пинам GPIO, мы должны сначала обеспечить нужный пин. С помощью методов provisionDigitalOutputPin
мы можем настроить пин в режиме выхода, задать имя и состояние пина при запуске (0 или 1).
GpioPinDigitalOutput myLed = gpio.provisionDigitalOutputPin( OrangePiPin.GPIO_24, // Номер пина по WiringPi "Светодиод", // Имя пина (необязательный) PinState.LOW); // Состояние пина при запуске (необязательный)
Pi4J обеспечивает реализацию для автоматического задания состояний выводов GPIO, когда приложение завершает работу. К примеру, нам нужно освободить пин, установить в режим входа, отключить подтягивающий резистор и задать состояние LOW (0), чтобы вернуть пин в исходное состояние.
myLed.setShutdownOptions( true, // освобождаем пин PinState.LOW, // задаём состояние 0 PinPullResistance.OFF, // отключаем подтягивающий резистор PinMode.DIGITAL_INPUT);// установливаем режим входа
Если необходимо исполнять какой-то код во время изменения состояния пина (из 0 в 1 или наоборот), тогда нужно создать «слушатель». Обычно они нужны в случае подключения, к примеру, кнопки или датчика движения. В этом примере мы просто будем выводить в консоль имя и состояние пина.
myLed.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { System.out.println(" --> Состояние пина: " + event.getPin() + " = " + event.getState()); } });
Интерфейс GpioPinDigitalOutput
Интерфейс GpioPinDigitalOutput
содержит методы для подачи (логический «1
«) или снятия (логический «0
«) рабочего напряжения на пины GPIO. Все методы этого интерфейса описаны ниже.
void high();
отправляет на цифровой вывод значение HIGH
.
void low();
отправляет на цифровой вывод значение LOW
.
void toggle();
отправляет на цифровой вывод значение HIGH
, если текущее значение LOW
или LOW
— если HIGH
.
Future<?> blink(long delay);
непрерывно отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
long delay
— интервал в миллисекундах;
Future<?> blink(long delay, PinState blinkState);
непрерывно отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
long delay
— интервал в миллисекундах;PinState blinkState
— начальное значение:PinState.LOW
илиPinState.HIGH
.
Future<?> blink(long delay, long duration);
отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
long delay
— это интервал в миллисекундах;long duration
— продолжительность в миллисекундах.
Future<?> blink(long delay, long duration, PinState blinkState);
отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
long delay
— это интервал в миллисекундах;long duration
— продолжительность в миллисекундах;PinState blinkState
— начальное значение:PinState.LOW
илиPinState.HIGH
.
Future<?> pulse(long duration);
отправляет на цифровой вывод значение HIGH
.
Параметры:
long duration
— продолжительность в миллисекундах.
Future<?> pulse(long duration, Callable<Void> callback);
отправляет на цифровой вывод значение HIGH
.
Параметры:
long duration
— продолжительность в миллисекундах;Callable<Void> callback
— задача, которая будет выполняться по истечению времениduration
.
Future<?> pulse(long duration, boolean blocking);
отправляет на цифровой вывод значение HIGH
.
Параметры:
long duration
— продолжительность в миллисекундах;boolean blocking
—true
блокирует текущий поток на время выполнения импульса иfalse
— запуск импульса в отдельный поток (в фоновом режиме).
Future<?> pulse(long duration, boolean blocking, Callable<Void> callback);
отправляет на цифровой вывод значение HIGH
.
Параметры:
long duration
— продолжительность в миллисекундах;boolean blocking
—true
блокирует текущий поток на время выполнения импульса иfalse
— запуск импульса в отдельный поток (в фоновом режиме);Callable<Void> callback
— задача, которая будет выполняться по истечению времениduration
.
Future<?> pulse(long duration, PinState pulseState);
отправляет на цифровой вывод значение.
Параметры:
long duration
— это продолжительность в миллисекундах;PinState pulseState
— это, непосредственно, значениеPinState.LOW
илиPinState.HIGH
.
Future<?> pulse(long duration, PinState pulseState, Callable<Void> callback);
отправляет на цифровой вывод значение.
Параметры:
long duration
— продолжительность в миллисекундах;PinState pulseState
— значениеPinState.LOW
илиPinState.HIGH
;Callable<Void> callback
— задача которая будет выполняться по истечению времениduration
.
Future<?> pulse(long duration, PinState pulseState, boolean blocking);
отправляет на цифровой вывод значение.
Параметры:
long duration
— продолжительность в миллисекундах;PinState pulseState
— значениеPinState.LOW
илиPinState.HIGH
;boolean blocking
—true
блокирует текущий поток на время выполнения импульса иfalse
— запуск импульса в отдельный поток (в фоновом режиме).
Future<?> pulse(long duration, PinState pulseState, boolean blocking, Callable<Void> callback);
отправляет на цифровой вывод значение.
Параметры:
long duration
— продолжительность в миллисекундах;PinState pulseState
— значениеPinState.LOW
илиPinState.HIGH
;boolean blocking
—true
блокирует текущий поток на время выполнения импульса иfalse
— запуск импульса в отдельный поток (в фоновом режиме);Callable<Void> callback
— задача которая будет выполняться по истечению времениduration
.
void setState(PinState state);
отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
PinState pulseState
— значениеPinState.LOW
илиPinState.HIGH
;
void setState(boolean state);
отправляет на цифровой вывод значение HIGH
и LOW
.
Параметры:
boolean state
— значениеtrue
илиfalse
.
Future — это интерфейс для получения результатов работы асинхронной операции. Ключевым методом здесь является метод get, который блокирует текущий поток (с таймаутом или без) до завершения работы асинхронной операции в другом потоке. Также, дополнительно существуют методы для отмены операции и проверки текущего статуса.
Мигающий светодиод — примеры
Мигать светодиодом можно несколькими способами. Первый способ — используя методы void high();
и void low();
— зажигаем и выключаем светодиод соответственно.
for (int i = 0; i < 10; i++) { myLed.high(); Thread.sleep(500); myLed.low(); Thread.sleep(500); }
Второй способ — используя методы void setState(PinState state);
и void setState(boolean state);
— задаёт состояние пина в зависимости от значения параметра arg0
: true
и false
или PinState.LOW
и PinState.HIGH
.
for (int i = 0; i < 10; i++) { myLed.setState(true); Thread.sleep(500); myLed.setState(PinState.LOW); Thread.sleep(500); }
Третий способ — используя метод void toggle();
. Этот метод работает как переключатель, если пин в состоянии «1», тогда меняет её в «0» и наоборот.
for (int i = 0; i < 20; i++) { myLed.toggle(); Thread.sleep(500); }
Четвёртый способ — используя методы Future<?> blink(long delay);
. Как по мне, так это самый интересный способ мигать светодиодом. К примеру, нам нужно мигать непрерывно светодиодом пока программа запущена.
Future<?> future = myLed.blink(500);
Или непрерывно мигать в течении некоторого времени.
// непрерывно мигает светодиод каждые 1/2 секунды в течение 15 секунд Future<?> future = myLed.blink(500, 15000); // Ждём окончания мигания while (!future.isDone()) { Thread.sleep(50); }
Завершение программы
Метод shutdown()
остановливает все действия/потоки GPIO, выключив контроллер GPIO, другими словами, этот метод будет принудительно отключать все потоки мониторинга GPIO и задачи.
gpio.shutdown();
Пример Java программы
Ниже привёл пример программы «мигающий светодиод» с использованием функции Future<?> blink(long arg0, long arg1);
. Программа непрерывно мигает светодиод каждые 1/4 секунды в течение 3 секунд.
import java.util.concurrent.Future; import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.GpioPinDigitalOutput; import com.pi4j.io.gpio.OrangePiPin; import com.pi4j.io.gpio.PinMode; import com.pi4j.io.gpio.PinPullResistance; import com.pi4j.io.gpio.PinState; import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent; import com.pi4j.io.gpio.event.GpioPinListenerDigital; import com.pi4j.platform.Platform; import com.pi4j.platform.PlatformManager; public class LedBlinking { public static void main(String[] args) { try { /* * Поскольку мы не используем платформу Raspberry Pi, мы должны явно * указывать платформу, в нашем случае - это Orange Pi. */ PlatformManager.setPlatform(Platform.ORANGEPI); /* * Создаём экземпляр контроллера GPIO */ final GpioController gpio = GpioFactory.getInstance(); /* * настройка вывода GPIO.24, задаём режим выхода и установливаем значение * LOW при запуске */ GpioPinDigitalOutput myLed = gpio.provisionDigitalOutputPin( OrangePiPin.GPIO_24, // Номер пина по WiringPi "Светодиод", // Имя пина (необязательный) PinState.LOW); // Состояние пина при запуске (необязательный) /* * настроика поведения выключения */ myLed.setShutdownOptions( true, // освобождаем пин PinState.LOW, // задаём состояние 0 PinPullResistance.OFF, // отключаем подтягивающий резистор PinMode.DIGITAL_INPUT);// установливаем режим входа /* * Это объект, который "слушает" и исполняет код в зависимости от события. */ myLed.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { System.out.println(" --> Состояние пина: " + event.getPin() + " = " + event.getState()); } }); // непрерывно мигает светодиод каждые 1/4 секунды в течение 3 секунд Future<?> future = myLed.blink(250, 3000); // ждёт окончания мигания while (!future.isDone()) { Thread.sleep(50); } gpio.shutdown(); } catch (Exception e) { e.printStackTrace(); } } }
Как скомпилировать Java файла
Для компиляции этой программы используйте следующую команду:
javac -classpath .:classes:/opt/pi4j/lib/'*' -d . LedBlinking.java
Как запуск class файла
Следующая команда запустит этот пример программы:
sudo java -classpath .:classes:/opt/pi4j/lib/'*' LedBlinking
ххх милфы ххх милфы .
casino elon http://elonbangladeshbet.com .
Загадки для детей Загадки для детей .
печать стикеров спб печать стикеров спб .
мост бет скачать https://www.mostbet8.com.kg .
перепланировка перепланировка .
Мы изготавливаем дипломы любой профессии по приятным ценам. Цена может зависеть от конкретной специальности, года получения и образовательного учреждения. Стараемся поддерживать для заказчиков адекватную ценовую политику. Для нас важно, чтобы дипломы были доступны для подавляющей массы граждан. купить диплом о высшем образовании в улан удэ
Мы готовы предложить дипломы любой профессии по доступным ценам. Всегда стараемся поддерживать для заказчиков адекватную политику тарифов. Важно, чтобы документы были доступными для большинства наших граждан.
Покупка диплома, который подтверждает окончание института, — это выгодное решение. Заказать диплом о высшем образовании: mvduniversitetpiter.flybb.ru/viewtopic.php?f=9&t=951
купить диплом семинарии купить диплом семинарии .
[u]Приветствую! [/u]
Для многих людей, приобрести [b]диплом[/b] о высшем образовании — это необходимость, уникальный шанс получить достойную работу. Но для кого-то — это банальное желание не терять огромное количество времени на учебу в институте. С какой бы целью вам это не понадобилось, мы готовы помочь. Максимально быстро, качественно и по разумной цене сделаем документ любого года выпуска на подлинных бланках со всеми требуемыми печатями.
Основная причина, почему люди прибегают к покупке документа, — получить хорошую работу. Допустим, знания позволяют человеку устроиться на привлекательную работу, а документального подтверждения квалификации не имеется. Если для работодателя важно присутствие «корочек», риск потерять вакантное место довольно высокий.
Приобрести документ института вы имеете возможность у нас в столице. Мы оказываем услуги по производству и продаже документов об окончании любых университетов России. Вы сможете получить необходимый диплом по любой специальности, любого года выпуска, в том числе документы Советского Союза. Гарантируем, что в случае проверки документов работодателями, подозрений не возникнет.
Ситуаций, которые вынуждают приобрести диплом ВУЗа много. Кому-то прямо сейчас нужна работа, в итоге нужно произвести впечатление на начальство при собеседовании. Другие желают устроиться в престижную компанию, чтобы повысить собственный статус в обществе и в будущем начать свой бизнес. Чтобы не тратить впустую годы жизни, а сразу начинать удачную карьеру, используя имеющиеся навыки, можно купить диплом в интернете. Вы сможете стать полезным в социуме, обретете денежную стабильность очень быстро и легко- [url=http://п»їdiplomanc.com/] купить диплом[/url]
Быстрая покупка диплома старого образца: возможные риски
Где купить диплом по актуальной специальности?
Приобрести документ ВУЗа вы сможете в нашей компании в столице. Мы оказываем услуги по продаже документов об окончании любых университетов России. argayash.flybb.ru/viewtopic.php?f=9&t=1758
Мы готовы предложить документы университетов, расположенных в любом регионе РФ. 1magistr.ru/kupit-diplom-v-novosibirske-2-7
купить диплом в молдавии
Всех приветствую!
Где заказать диплом по актуальной специальности?
Мы изготавливаем дипломы любой профессии по доступным ценам. Стоимость зависит от выбранной специальности, года получения и ВУЗа. Стараемся поддерживать для покупателей адекватную политику цен. Для нас очень важно, чтобы дипломы были доступными для подавляющей массы граждан.
Заказ диплома, который подтверждает окончание университета, — это выгодное решение. Просто-напросто подсчитайте, сколько нужно будет вложить средств на оплату 5 лет обучения, на аренду жилья (если учащийся из другого города), на проезд до университета и обратно. Получится очень серьезная сумма, которая значительно превышает расценки на нашу услугу. А ведь все это время можно уже успешно работать, занимаясь своей карьерой.
Полученный диплом со всеми печатями и подписями 100% отвечает стандартам Министерства образования и науки РФ, никто не сумеет отличить его от оригинала. Не следует откладывать личные мечты и задачи на продолжительные годы, реализуйте их с нашей компанией — отправляйте простую заявку на изготовление документа сегодня!
Диплом о высшем образовании — не проблема! tutdiploms.com/
Легальная покупка школьного аттестата с упрощенной программой обучения
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по выгодным ценам. Стоимость может зависеть от выбранной специальности, года получения и ВУЗа: rdiploman.com/
купить аттестат об окончании школы
Привет, друзья!
Заказ диплома через проверенную и надежную фирму дарит ряд плюсов для покупателя. Данное решение позволяет сэкономить время и серьезные финансовые средства. Впрочем, преимуществ значительно больше.Мы готовы предложить дипломы любой профессии. Дипломы изготавливаются на фирменных бланках государственного образца. Доступная стоимость сравнительно с крупными тратами на обучение и проживание в другом городе. Приобретение диплома института будет выгодным шагом.
Приобрести диплом о высшем образовании: [url=http://hamqth.com/diplomygroup/]hamqth.com/diplomygroup[/url]
купить диплом р высшем образовании prema-diploms.ru .
купить диплом фотографа diploms-bests.ru .
купить диплом продавца
программа 1с купить цена программа 1с купить цена .
1c программа 1c программа .
Мы изготавливаем дипломы любой профессии по выгодным ценам. — weddingwire.us/website/anton-sobolev-and-marina-yakovleva/9-9
Приветствую!
Заказать диплом университета по доступной цене возможно, обратившись к надежной специализированной компании. Купить диплом о высшем образовании: asxdiploman.com/kupit-diplom-kosmetologa-8/
Мы можем предложить дипломы психологов, юристов, экономистов и прочих профессий по приятным ценам. Купить диплом о дополнительном образовании — kyc-diplom.com/diplom-o-dopolnitelnom-obrazovanii.html
мостбет актуальное зеркало https://mostbet11.com.kg .
moztbet http://www.mostbet12.com.kg .
мостбет казино онлайн mostbet13.com.kg .
Приобрести документ ВУЗа можно у нас в столице. http://www.camp-saver.com/submitticket.php?step=2&deptid=3
seo продвижение недорого seo продвижение недорого .
Привет!
Для многих людей, купить диплом о высшем образовании — это острая необходимость, удачный шанс получить достойную работу. Однако для кого-то — это желание не терять время на учебу в ВУЗе. Что бы ни толкнуло вас на это решение, наша фирма готова помочь. Максимально быстро, качественно и по разумной цене сделаем диплом нового или старого образца на подлинных бланках с реальными печатями.
Ключевая причина, почему многие прибегают к покупке документов, — желание занять хорошую работу. Предположим, знания дают возможность кандидату устроиться на работу, а документального подтверждения квалификации нет. Когда работодателю важно наличие «корочки», риск потерять хорошее место очень высокий.
Купить документ университета можно в нашей компании в Москве. Мы оказываем услуги по продаже документов об окончании любых ВУЗов Российской Федерации. Вы получите диплом по любой специальности, любого года выпуска, включая документы СССР. Даем 100% гарантию, что при проверке документов работодателями, подозрений не появится.
Ситуаций, которые вынуждают приобрести диплом ВУЗа много. Кому-то очень срочно необходима работа, и необходимо произвести впечатление на начальство во время собеседования. Другие планируют попасть в большую компанию, чтобы повысить свой статус в обществе и в будущем начать собственное дело. Чтобы не тратить попусту годы жизни, а сразу начать эффективную карьеру, применяя врожденные способности и приобретенные знания, можно купить диплом через интернет. Вы станете полезным в обществе, обретете финансовую стабильность очень быстро и легко- аттестат за 9 класс купить
Привет!
Без университета очень непросто было продвигаться вверх по карьере. На текущий момент документ не дает каких-либо гарантий, что удастся найти престижную работу. Более важны профессиональные навыки и знания специалиста, а также его постоянный опыт. Именно из-за этого решение о заказе диплома следует считать целесообразным. Заказать диплом об образовании ladymystery.ru/forum/topic.asp?TOPIC_ID=11236
купить корочки на диплом о высшем образовании в москве prema-diploms.ru .
Приветствую!
Мы можем предложить дипломы психологов, юристов, экономистов и других профессий по приятным тарифам. Стоимость зависит от той или иной специальности, года получения и ВУЗа: rdiplomix.com/
Приобрести диплом о высшем образовании !
Профессионалы, у которых имеется высшее образование всегда очень ценились на рынке труда. Диплом о наличии высшего образования требуется для того, чтобы доказать свой высокий профессионализм. Он дает понять нанимателю, что сотрудник обладает нужными знаниями чтобы на отличном уровне выполнить поставленную задачу. Но как же быть, когда умения и навыки есть, а подтверждающего документа у человека нет? Покупка диплома поможет решить такую проблему. Покупка диплома любого ВУЗа России в нашей компании является надежным процессом, поскольку документ заносится в реестр. Печать осуществляется на специальных бланках ГОЗНАКа. Быстро заказать диплом университета ripple-xrp-global-network.mn.co/posts/77114775
купить аттестат 11 классов цена купить аттестат 11 классов цена .
Мы предлагаем дипломы психологов, юристов, экономистов и любых других профессий по приятным тарифам. Стараемся поддерживать для клиентов адекватную политику тарифов. Важно, чтобы документы были доступны для большого количества граждан.
Заказ диплома, который подтверждает окончание ВУЗа, — это грамотное решение. Заказать диплом ВУЗа: diplomanruss.com
Где купить диплом по нужной специальности?
Приобрести диплом ВУЗа по невысокой стоимости возможно, обратившись к надежной специализированной компании.: diplom5.com
Мы изготавливаем дипломы любой профессии по выгодным тарифам. Дипломы производят на подлинных бланках Заказать диплом университета diplomist.com
Для успешного продвижения вверх по карьере нужно наличие официального диплома ВУЗа. Приобрести диплом о высшем образовании у надежной организации: kupit-diplom24.com/kupit-diplom-v-kurgane-6/
баланс 1win 1win6.am .
Мы предлагаем дипломы любой профессии по выгодным ценам. Всегда стараемся поддерживать для покупателей адекватную ценовую политику. Важно, чтобы документы были доступны для большого количества наших граждан.
Покупка документа, который подтверждает обучение в университете, — это рациональное решение. Приобрести диплом о высшем образовании: asxdiplommy.com/kupit-diplom-instituta-14/
Диплом университета России!
Без ВУЗа очень непросто было продвигаться по карьерной лестнице. Именно из-за этого решение о покупке диплома можно считать мудрым и целесообразным. Приобрести диплом о высшем образовании x91392sl.beget.tech/2025/03/01/pomogaem-poluchit-diplom-bez-stressa.html
seo оптимизация сайта москва seo оптимизация сайта москва .
продвижение сайтов тарифы продвижение сайтов тарифы .
canadian pharmacy world
http://expresscanadapharm.com/# pharmacies in canada that ship to the us
best online canadian pharmacy
продвижение сайтов тарифы продвижение сайтов тарифы .
сео продвижение сайтов топ 10 цена сео продвижение сайтов топ 10 цена .
1 win http://www.1win9.com.ng .
online canadian pharmacy
http://expresscanadapharm.com/# Express Canada Pharm
canadian pharmacy scam
mostbet kg скачать http://www.mostbet34.com.kg .
1 win http://1win104.com.kg .
Где купить диплом специалиста?
Приобрести диплом института по выгодной стоимости можно, обращаясь к надежной специализированной фирме.: peoplediplom.ru
продвижение сео https://www.prodvizhenie-sajtov-v-moskve119.ru .
раскрутка сайтов в москве раскрутка сайтов в москве .
создание и раскрутка сайта создание и раскрутка сайта .
1win bet deposit https://1win10.com.ng/ .
мотбет http://mostbet1009.com.kg/ .
скачать 1win с официального сайта 1win105.com.kg .
mostbet kg скачать mostbet1010.com.kg .
создание и продвижение сайтов москва создание и продвижение сайтов москва .
1win metode de plată 1win5000.ru .
мостбет официальный сайт mostbet1001.com.kg .
мрстбет mostbet1003.com.kg .
mostbet chrono http://mostbet1002.com.kg .
Мы готовы предложить дипломы психологов, юристов, экономистов и других профессий по приятным тарифам.— akademiya-ambrella-lordfilm.ru
1хwin https://cah.forum24.ru/?1-19-0-00000716-000-0-0-1741702224/ .
1вин rossvya http://aktivnoe.forum24.ru/?1-2-0-00000100-000-0-0-1741701286 .
услуги таможенного брокера в москве цены услуги таможенного брокера в москве цены .
купить диплом средне специальное образование
mostbet aktivnoe.forum24.ru/?1-8-0-00000260-000-0-0-1741701879 .
1 вин войти aktivnoe.forum24.ru/?1-8-0-00000259-000-0-0-1741701621 .
мастбет мастбет .
1 вин вход в личный кабинет https://1win112.com.kg/ .
баланс ван вин http://1win113.com.kg/ .
1 win kg http://1win713.ru/ .
Приобрести диплом любого ВУЗа!
Мы готовы предложить документы университетов, которые находятся в любом регионе РФ.
freediplom.com/kupit-attestat-za-11-klassov-10
Где купить диплом специалиста?
Готовый диплом с приложением отвечает условиям и стандартам Министерства образования и науки России, неотличим от оригинала — даже со специально предназначенным оборудованием. Не откладывайте собственные цели на долгие годы, реализуйте их с нашей компанией — отправляйте быструю заявку на диплом прямо сейчас! Диплом о среднем образовании — не проблема! diplomh-40.ru/kupit-diplom-za-11-klass-legko-i-bistro/